From 3da3636012c344c410847e4ba7a00ea61b5f3e4d Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Wed, 19 Nov 2025 11:17:41 +0100 Subject: [PATCH 1/5] update api scpecs, handle non-unique endpoint locations --- .scalafmt.conf | 2 +- build.sbt | 24 +- modules/cli/src/main/scala/cli.scala | 4 +- .../core/shared/src/main/scala/codegen.scala | 41 +- .../src/main/resources/aiplatform_v1.json | 71274 +++++++++------- .../src/main/resources/iamcredentials_v1.json | 788 +- .../src/main/resources/pubsub_v1.json | 5151 +- .../src/main/resources/redis_v1.json | 8233 +- .../src/main/resources/storage_v1.json | 612 +- project/plugins.sbt | 2 +- pubsub_v1.json | 3151 + 11 files changed, 52513 insertions(+), 36769 deletions(-) create mode 100644 pubsub_v1.json diff --git a/.scalafmt.conf b/.scalafmt.conf index 9bd3a4a..97f5a94 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,3 +1,3 @@ -version = "3.8.3" +version = "3.10.1" runner.dialect = scala3 maxColumn = 120 \ No newline at end of file diff --git a/build.sbt b/build.sbt index 421f240..99b1e98 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ ThisBuild / description := "Google Cloud client code generator" ThisBuild / organization := "dev.rolang" ThisBuild / licenses := Seq(License.MIT) ThisBuild / homepage := Some(url("https://github.com/rolang/google-rest-api-codegen")) -ThisBuild / scalaVersion := "3.7.3" +ThisBuild / scalaVersion := "3.7.4" ThisBuild / version ~= { v => if (v.contains('+')) s"${v.replace('+', '-')}-SNAPSHOT" else v } ThisBuild / versionScheme := Some("early-semver") ThisBuild / scmInfo := Some( @@ -40,15 +40,17 @@ lazy val noPublish = Seq( publish / skip := true ) -lazy val sttpClient4Version = "4.0.11" +val sttpClient4Version = "4.0.13" -lazy val zioVersion = "2.1.21" +val zioVersion = "2.1.22" -lazy val zioJsonVersion = "0.7.44" +val zioJsonVersion = "0.7.45" -lazy val jsoniterVersion = "2.38.2" +val jsoniterVersion = "2.38.4" -lazy val munitVersion = "1.2.0" +val munitVersion = "1.2.1" + +val upickleVersion = "4.4.1" addCommandAlias("fmt", "all scalafmtSbt scalafmt test:scalafmt") @@ -64,7 +66,13 @@ lazy val root = (project in file(".")) // for supporting code inspection / testing of generated code via test_gen.sh script lazy val testLocal = (project in file("test-local")) .settings( - libraryDependencies ++= dependencyByConfig("Sttp4", "Jsoniter", "ZioChunk") + libraryDependencies ++= Seq( + "com.softwaremill.sttp.client4" %% "core" % sttpClient4Version, + "com.github.plokhotnyuk.jsoniter-scala" %% "jsoniter-scala-core" % jsoniterVersion, + "com.github.plokhotnyuk.jsoniter-scala" %% "jsoniter-scala-macros" % jsoniterVersion % "compile-internal", + "dev.zio" %% "zio-json" % zioJsonVersion, + "dev.zio" %% "zio" % zioVersion + ) ) .settings(noPublish) @@ -77,7 +85,7 @@ lazy val core = crossProject(JVMPlatform, NativePlatform) ) .settings( libraryDependencies ++= Seq( - "com.lihaoyi" %%% "upickle" % "4.1.0" + "com.lihaoyi" %%% "upickle" % upickleVersion ) ) diff --git a/modules/cli/src/main/scala/cli.scala b/modules/cli/src/main/scala/cli.scala index 36c6f32..dad629c 100644 --- a/modules/cli/src/main/scala/cli.scala +++ b/modules/cli/src/main/scala/cli.scala @@ -1,8 +1,8 @@ // for test runs using scala-cli //> using jvm system -//> using scala 3.7.3 +//> using scala 3.7.4 //> using file ../../../../core/shared/src/main/scala/codegen.scala -//> using dep com.lihaoyi::upickle:4.3.2 +//> using dep com.lihaoyi::upickle:4.4.1 package gcp.codegen.cli diff --git a/modules/core/shared/src/main/scala/codegen.scala b/modules/core/shared/src/main/scala/codegen.scala index 4fa8969..f6c36d6 100644 --- a/modules/core/shared/src/main/scala/codegen.scala +++ b/modules/core/shared/src/main/scala/codegen.scala @@ -129,9 +129,18 @@ def generateBySpec( if specs.endpoints.nonEmpty then "enum Endpoint(val location: String, val url: Uri):" else "", specs.endpoints .map(e => + // for cases where location is not unique we will append numbers + val locationPostfix = specs.endpoints + .collect { case Endpoint(location = e.location, endpointUrl = endpointUrl) => + endpointUrl + } + .zipWithIndex + .collectFirst { case (e.endpointUrl, idx) if idx > 0 => (idx + 1).toString() } + .getOrElse("") + s"""${toComment( Some(e.description) - )} case `${e.location}` extends Endpoint("${e.location}", uri"${e.endpointUrl}")""".stripMargin + )} case `${e.location}$locationPostfix` extends Endpoint("${e.location}", uri"${e.endpointUrl}")""".stripMargin ) .mkString("\n") ).mkString("\n") @@ -220,7 +229,7 @@ def generateBySpec( hasProps = p => specs.hasProps(p), arrType = config.arrayType ) match - case None => Nil + case None => Nil case Some(codecs) => Files.writeString(commonCodecsPath, codecs) List(commonCodecsPath.toFile()) @@ -301,10 +310,9 @@ def resourceCode( "\\{(.*?)\\}".r.findAllIn(s).toList match case Nil => s"PathSegment(\"$s\")" case v :: Nil if v == s => "PathSegment(" + toScalaName(v.stripPrefix("{").stripSuffix("}")) + ")" - case vars => - "PathSegment(s\"" + vars.foldLeft(s)((res, v) => - res.replace(v, "$" + v.stripPrefix("{").stripSuffix("}")) - ) + "\")" + case vars => + "PathSegment(s\"" + vars + .foldLeft(s)((res, v) => res.replace(v, "$" + v.stripPrefix("{").stripSuffix("}"))) + "\")" ) val req = method.mediaUploads match @@ -362,15 +370,14 @@ def resourceCode( val queryParams = "\n val params = " + (method.scalaQueryParams match - case Nil => "commonQueryParams.value" + case Nil => "commonQueryParams.value" case qParams => qParams .map { case (k, p) if p.required => s"""Map("$k" -> $k)""" case (k, p) => s"""$k.map(p => Map("$k" -> p.toString)).getOrElse(Map.empty)""" } - .mkString("", " ++ ", " ++ commonQueryParams.value\n") - ) + .mkString("", " ++ ", " ++ commonQueryParams.value\n")) def responseType(t: String) = httpSource match @@ -459,7 +466,7 @@ def schemasCode( s"package $pkg", "", jsonCodec match { - case JsonCodec.ZioJson => "import zio.json.*" + case JsonCodec.ZioJson => "import zio.json.*" case JsonCodec.Jsoniter => """|import com.github.plokhotnyuk.jsoniter_scala.core.* |import com.github.plokhotnyuk.jsoniter_scala.macros.*""".stripMargin @@ -492,7 +499,7 @@ def commonSchemaCodecs( } ) .distinct match - case Nil => None + case Nil => None case props => Some( List( @@ -631,7 +638,7 @@ def readResources( resources match case (k, v) :: xs => v.obj.remove("resources").map(_.obj) match - case None => readResources(xs, result.updated(k, read[Resource](v))) + case None => readResources(xs, result.updated(k, read[Resource](v))) case Some(obj) => val newRes = obj.map((a, b) => ResourcePath(k, a) -> b).toList ::: xs Try(read[Resource](v)) match @@ -727,8 +734,8 @@ enum SchemaType(val optional: Boolean): case Primitive("number", _, Some("double" | "float")) => toType("Double") case Primitive("boolean", _, _) => toType("Boolean") case Ref(ref, _) => toType(ref.scalaName) - case Array(t, _) => toType(arrayType.toScalaType(t.scalaType(arrayType, enumType))) - case Object(t, _) => toType(s"Map[String, ${t.scalaType(arrayType)}]") + case Array(t, _) => toType(arrayType.toScalaType(t.scalaType(arrayType, enumType))) + case Object(t, _) => toType(s"Map[String, ${t.scalaType(arrayType)}]") case Enum(_, values, _) => enumType match case SchemaType.EnumType.Literal => toType(values.map(v => v.value).mkString("\"", "\" | \"", "\"")) @@ -777,7 +784,7 @@ object SchemaType: case _ => o.value.get("$ref").map(_.str) match case Some(ref) => SchemaType.Ref(SchemaPath(ref), optional) - case _ => + case _ => if !o.value.keySet.contains("properties") then if Set("uploadType", "upload_protocol").exists(context.jsonPath.lastOption.contains) then """"([\w]+)"""".r @@ -854,7 +861,7 @@ object Schema: result: Map[SchemaPath, Schema] ): Map[SchemaPath, Schema] = schemas match { - case Nil => result + case Nil => result case (name, data) :: xs => val schema = readSchema(name, data) @@ -864,7 +871,7 @@ object Schema: case None => Nil case Some(p) => List((p, p.jsonPath.foldLeft(o)(_.apply(_).obj))) } match { - case Nil => readSchemas(xs, result.updated(name, schema)) + case Nil => readSchemas(xs, result.updated(name, schema)) case nested => readSchemas(nested ::: xs, result.updated(name, schema)) } diff --git a/modules/test-resources/src/main/resources/aiplatform_v1.json b/modules/test-resources/src/main/resources/aiplatform_v1.json index 6971c25..b1d4bc3 100644 --- a/modules/test-resources/src/main/resources/aiplatform_v1.json +++ b/modules/test-resources/src/main/resources/aiplatform_v1.json @@ -1,28337 +1,7487 @@ { - "name": "aiplatform", - "basePath": "", - "ownerDomain": "google.com", - "canonicalName": "Aiplatform", - "parameters": { - "access_token": { - "type": "string", - "description": "OAuth access token.", - "location": "query" - }, - "alt": { - "type": "string", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "callback": { - "type": "string", - "description": "JSONP", - "location": "query" - }, - "fields": { - "type": "string", - "description": "Selector specifying which fields to include in a partial response.", - "location": "query" - }, - "key": { - "type": "string", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query" - }, - "oauth_token": { - "type": "string", - "description": "OAuth 2.0 token for the current user.", - "location": "query" - }, - "prettyPrint": { - "type": "boolean", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "location": "query" - }, - "quotaUser": { - "type": "string", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query" - }, - "uploadType": { - "type": "string", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - } - }, - "discoveryVersion": "v1", - "fullyEncodeReservedExpansion": true, - "rootUrl": "https://aiplatform.googleapis.com/", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "version_module": true, - "servicePath": "", - "id": "aiplatform:v1", - "version": "v1", - "title": "Vertex AI API", - "documentationLink": "https://cloud.google.com/vertex-ai/", - "batchPath": "batch", + "description": "Train high-quality custom machine learning models with minimal machine learning expertise and effort.", "kind": "discovery#restDescription", - "schemas": { - "GoogleCloudLocationListLocationsResponse": { - "id": "GoogleCloudLocationListLocationsResponse", - "description": "The response message for Locations.ListLocations.", - "type": "object", - "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudLocationLocation" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudLocationLocation": { - "id": "GoogleCloudLocationLocation", - "description": "A resource that represents a Google Cloud location.", - "type": "object", - "properties": { - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", - "type": "string" - }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", - "type": "string" - }, - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", - "type": "string" - }, - "labels": { - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "metadata": { - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - } - } - }, - "GoogleIamV1SetIamPolicyRequest": { - "id": "GoogleIamV1SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", - "$ref": "GoogleIamV1Policy" - } - } - }, - "GoogleIamV1Policy": { - "id": "GoogleIamV1Policy", - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "type": "object", - "properties": { - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "type": "integer", - "format": "int32" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "type": "array", - "items": { - "$ref": "GoogleIamV1Binding" - } - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleIamV1Binding": { - "id": "GoogleIamV1Binding", - "description": "Associates `members`, or principals, with a `role`.", - "type": "object", - "properties": { - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "type": "array", - "items": { - "type": "string" - } + "mtlsRootUrl": "https://aiplatform.mtls.googleapis.com/", + "ownerDomain": "google.com", + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.operations.list", + "path": "v1/operations", + "flatPath": "v1/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." }, - "condition": { - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "$ref": "GoogleTypeExpr" - } - } - }, - "GoogleTypeExpr": { - "id": "GoogleTypeExpr", - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "type": "object", - "properties": { - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" + "get": { + "id": "aiplatform.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" + "delete": { + "id": "aiplatform.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." }, - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" + "cancel": { + "id": "aiplatform.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - } - } - }, - "GoogleIamV1TestIamPermissionsResponse": { - "id": "GoogleIamV1TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleLongrunningListOperationsResponse": { - "id": "GoogleLongrunningListOperationsResponse", - "description": "The response message for Operations.ListOperations.", - "type": "object", - "properties": { - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "type": "array", - "items": { + "wait": { + "id": "aiplatform.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { "$ref": "GoogleLongrunningOperation" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." } } }, - "GoogleLongrunningOperation": { - "id": "GoogleLongrunningOperation", - "description": "This resource represents a long-running operation that is the result of a network API call.", - "type": "object", - "properties": { - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", - "type": "string" - }, - "metadata": { - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" - }, - "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "GoogleRpcStatus" - }, - "response": { - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." + "deploymentResourcePools": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.deploymentResourcePools.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/deploymentResourcePools/{deploymentResourcePoolsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^deploymentResourcePools/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.deploymentResourcePools.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^deploymentResourcePools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.deploymentResourcePools.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^deploymentResourcePools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.deploymentResourcePools.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^deploymentResourcePools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.deploymentResourcePools.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^deploymentResourcePools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } } } }, - "GoogleRpcStatus": { - "id": "GoogleRpcStatus", - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "type": "object", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer", - "format": "int32" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." + "featurestores": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.featurestores.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/featurestores/{featurestoresId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featurestores/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featurestores.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featurestores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featurestores.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featurestores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.featurestores.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/featurestores/{featurestoresId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^featurestores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.featurestores.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featurestores/{featurestoresId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featurestores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." } } - } - } - }, - "GoogleProtobufEmpty": { - "id": "GoogleProtobufEmpty", - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1Dataset": { - "id": "GoogleCloudAiplatformV1Dataset", - "description": "A collection of DataItems and Annotations on them.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the Dataset.", - "type": "string" - }, - "metadataSchemaUri": { - "description": "Required. Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.", - "type": "string" - }, - "metadata": { - "description": "Required. Additional information about the Dataset.", - "type": "any" - }, - "dataItemCount": { - "description": "Output only. The number of DataItems in this Dataset. Only apply for non-structured Dataset.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "createTime": { - "description": "Output only. Timestamp when this Dataset was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Dataset was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" }, - "labels": { - "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "savedQueries": { - "description": "All SavedQueries belong to the Dataset will be returned in List/Get Dataset response. The annotation_specs field will not be populated except for UI cases which will only use annotation_spec_count. In CreateDataset request, a SavedQuery is created together if this field is set, up to one SavedQuery can be set in CreateDatasetRequest. The SavedQuery should not contain any AnnotationSpec.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SavedQuery" + "entityTypes": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.featurestores.entityTypes.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featurestores.entityTypes.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featurestores.entityTypes.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.featurestores.entityTypes.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.featurestores.entityTypes.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "features": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.featurestores.entityTypes.features.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featurestores.entityTypes.features.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featurestores.entityTypes.features.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.featurestores.entityTypes.features.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.featurestores.entityTypes.features.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } + } } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "metadataArtifact": { - "description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Dataset. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", - "readOnly": true, - "type": "string" - }, - "modelReference": { - "description": "Optional. Reference to the public base model last used by the dataset. Only set for prompt datasets.", - "type": "string" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" } } }, - "GoogleCloudAiplatformV1SavedQuery": { - "id": "GoogleCloudAiplatformV1SavedQuery", - "description": "A SavedQuery is a view of the dataset. It references a subset of annotations by problem type and filters.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the SavedQuery.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the SavedQuery. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "metadata": { - "description": "Some additional information about the SavedQuery.", - "type": "any" - }, - "createTime": { - "description": "Output only. Timestamp when this SavedQuery was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when SavedQuery was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "annotationFilter": { - "description": "Output only. Filters on the Annotations in the dataset.", - "readOnly": true, - "type": "string" - }, - "problemType": { - "description": "Required. Problem type of the SavedQuery. Allowed values: * IMAGE_CLASSIFICATION_SINGLE_LABEL * IMAGE_CLASSIFICATION_MULTI_LABEL * IMAGE_BOUNDING_POLY * IMAGE_BOUNDING_BOX * TEXT_CLASSIFICATION_SINGLE_LABEL * TEXT_CLASSIFICATION_MULTI_LABEL * TEXT_EXTRACTION * TEXT_SENTIMENT * VIDEO_CLASSIFICATION * VIDEO_OBJECT_TRACKING", - "type": "string" - }, - "annotationSpecCount": { - "description": "Output only. Number of AnnotationSpecs in the context of the SavedQuery.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "etag": { - "description": "Used to perform a consistent read-modify-write update. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "supportAutomlTraining": { - "description": "Output only. If the Annotations belonging to the SavedQuery can be used for AutoML training.", - "readOnly": true, - "type": "boolean" + "customJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.customJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/customJobs/{customJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^customJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.customJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/customJobs/{customJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^customJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.customJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/customJobs/{customJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^customJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.customJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/customJobs/{customJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^customJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.customJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/customJobs/{customJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^customJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } } } }, - "GoogleCloudAiplatformV1EncryptionSpec": { - "id": "GoogleCloudAiplatformV1EncryptionSpec", - "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", - "type": "object", - "properties": { - "kmsKeyName": { - "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created.", - "type": "string" + "dataLabelingJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.dataLabelingJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/dataLabelingJobs/{dataLabelingJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^dataLabelingJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.dataLabelingJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^dataLabelingJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.dataLabelingJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^dataLabelingJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.dataLabelingJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^dataLabelingJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.dataLabelingJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^dataLabelingJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } } } }, - "GoogleCloudAiplatformV1ListDatasetsResponse": { - "id": "GoogleCloudAiplatformV1ListDatasetsResponse", - "description": "Response message for DatasetService.ListDatasets.", - "type": "object", - "properties": { - "datasets": { - "description": "A list of Datasets that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Dataset" + "hyperparameterTuningJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.hyperparameterTuningJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^hyperparameterTuningJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.hyperparameterTuningJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^hyperparameterTuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.hyperparameterTuningJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^hyperparameterTuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.hyperparameterTuningJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^hyperparameterTuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.hyperparameterTuningJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^hyperparameterTuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } } }, - "GoogleCloudAiplatformV1ImportDataRequest": { - "id": "GoogleCloudAiplatformV1ImportDataRequest", - "description": "Request message for DatasetService.ImportData.", - "type": "object", - "properties": { - "importConfigs": { - "description": "Required. The desired input locations. The contents of all input locations will be imported in one batch.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ImportDataConfig" + "tuningJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.tuningJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/tuningJobs/{tuningJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^tuningJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.tuningJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/tuningJobs/{tuningJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^tuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.tuningJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/tuningJobs/{tuningJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^tuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.tuningJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^tuningJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + } } } } }, - "GoogleCloudAiplatformV1ImportDataConfig": { - "id": "GoogleCloudAiplatformV1ImportDataConfig", - "description": "Describes the location from where we import data into a Dataset, together with the labels that will be applied to the DataItems and the Annotations.", - "type": "object", - "properties": { - "gcsSource": { - "description": "The Google Cloud Storage location for the input content.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "dataItemLabels": { - "description": "Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "annotationLabels": { - "description": "Labels that will be applied to newly imported Annotations. If two Annotations are identical, one of them will be deduped. Two Annotations are considered identical if their payload, payload_schema_uri and all of their labels are the same. These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", - "type": "object", - "additionalProperties": { - "type": "string" + "indexes": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.indexes.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/indexes/{indexesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^indexes/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.indexes.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/indexes/{indexesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^indexes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.indexes.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/indexes/{indexesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^indexes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.indexes.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/indexes/{indexesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^indexes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.indexes.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/indexes/{indexesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^indexes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "importSchemaUri": { - "description": "Required. Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", - "type": "string" } } }, - "GoogleCloudAiplatformV1GcsSource": { - "id": "GoogleCloudAiplatformV1GcsSource", - "description": "The Google Cloud Storage location for the input content.", - "type": "object", - "properties": { - "uris": { - "description": "Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.", - "type": "array", - "items": { - "type": "string" + "indexEndpoints": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.indexEndpoints.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/indexEndpoints/{indexEndpointsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^indexEndpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.indexEndpoints.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^indexEndpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.indexEndpoints.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^indexEndpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.indexEndpoints.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^indexEndpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.indexEndpoints.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^indexEndpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } } } }, - "GoogleCloudAiplatformV1ExportDataRequest": { - "id": "GoogleCloudAiplatformV1ExportDataRequest", - "description": "Request message for DatasetService.ExportData.", - "type": "object", - "properties": { - "exportConfig": { - "description": "Required. The desired output location.", - "$ref": "GoogleCloudAiplatformV1ExportDataConfig" - } - } - }, - "GoogleCloudAiplatformV1ExportDataConfig": { - "id": "GoogleCloudAiplatformV1ExportDataConfig", - "description": "Describes what part of the Dataset is to be exported, the destination of the export and how to export.", - "type": "object", - "properties": { - "gcsDestination": { - "description": "The Google Cloud Storage location where the output is to be written to. In the given directory a new directory will be created with name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export output will be written into that directory. Inside that directory, annotations with the same schema will be grouped into sub directories which are named with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "fractionSplit": { - "description": "Split based on fractions defining the size of each set.", - "$ref": "GoogleCloudAiplatformV1ExportFractionSplit" - }, - "filterSplit": { - "description": "Split based on the provided filters for each set.", - "$ref": "GoogleCloudAiplatformV1ExportFilterSplit" - }, - "annotationsFilter": { - "description": "An expression for filtering what part of the Dataset is to be exported. Only Annotations that match this filter will be exported. The filter syntax is the same as in ListAnnotations.", - "type": "string" - }, - "savedQueryId": { - "description": "The ID of a SavedQuery (annotation set) under the Dataset specified by ExportDataRequest.name used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", - "type": "string" - }, - "annotationSchemaUri": { - "description": "The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by ExportDataRequest.name. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", - "type": "string" - }, - "exportUse": { - "description": "Indicates the usage of the exported files.", - "type": "string", - "enumDescriptions": [ - "Regular user export.", - "Export for custom code training." - ], - "enum": [ - "EXPORT_USE_UNSPECIFIED", - "CUSTOM_CODE_TRAINING" - ] - } - } - }, - "GoogleCloudAiplatformV1GcsDestination": { - "id": "GoogleCloudAiplatformV1GcsDestination", - "description": "The Google Cloud Storage location where the output is to be written to.", - "type": "object", - "properties": { - "outputUriPrefix": { - "description": "Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExportFractionSplit": { - "id": "GoogleCloudAiplatformV1ExportFractionSplit", - "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", - "type": "object", - "properties": { - "trainingFraction": { - "description": "The fraction of the input data that is to be used to train the Model.", - "type": "number", - "format": "double" - }, - "validationFraction": { - "description": "The fraction of the input data that is to be used to validate the Model.", - "type": "number", - "format": "double" - }, - "testFraction": { - "description": "The fraction of the input data that is to be used to evaluate the Model.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ExportFilterSplit": { - "id": "GoogleCloudAiplatformV1ExportFilterSplit", - "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets.", - "type": "object", - "properties": { - "trainingFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "validationFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "testFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DatasetVersion": { - "id": "GoogleCloudAiplatformV1DatasetVersion", - "description": "Describes the dataset version.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this DatasetVersion was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this DatasetVersion was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" + "metadataStores": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.metadataStores.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/metadataStores/{metadataStoresId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^metadataStores/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.metadataStores.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^metadataStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.metadataStores.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^metadataStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.metadataStores.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^metadataStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.metadataStores.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/metadataStores/{metadataStoresId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^metadataStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "bigQueryDatasetName": { - "description": "Output only. Name of the associated BigQuery dataset.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The user-defined name of the DatasetVersion. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "metadata": { - "description": "Required. Output only. Additional information about the DatasetVersion.", - "readOnly": true, - "type": "any" - }, - "modelReference": { - "description": "Output only. Reference to the public base model last used by the dataset version. Only set for prompt dataset versions.", - "readOnly": true, - "type": "string" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ListDatasetVersionsResponse": { - "id": "GoogleCloudAiplatformV1ListDatasetVersionsResponse", - "description": "Response message for DatasetService.ListDatasetVersions.", - "type": "object", - "properties": { - "datasetVersions": { - "description": "A list of DatasetVersions that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DatasetVersion" + "artifacts": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.metadataStores.artifacts.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^metadataStores/[^/]+/artifacts/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.metadataStores.artifacts.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.metadataStores.artifacts.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.metadataStores.artifacts.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.metadataStores.artifacts.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListDataItemsResponse": { - "id": "GoogleCloudAiplatformV1ListDataItemsResponse", - "description": "Response message for DatasetService.ListDataItems.", - "type": "object", - "properties": { - "dataItems": { - "description": "A list of DataItems that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DataItem" + "contexts": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.metadataStores.contexts.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^metadataStores/[^/]+/contexts/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.metadataStores.contexts.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.metadataStores.contexts.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.metadataStores.contexts.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.metadataStores.contexts.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" + "executions": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.metadataStores.executions.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/metadataStores/{metadataStoresId}/executions/{executionsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^metadataStores/[^/]+/executions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.metadataStores.executions.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.metadataStores.executions.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.metadataStores.executions.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.metadataStores.executions.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } } } }, - "GoogleCloudAiplatformV1DataItem": { - "id": "GoogleCloudAiplatformV1DataItem", - "description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the DataItem.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this DataItem was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this DataItem was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your DataItems. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "payload": { - "description": "Required. The data that the DataItem represents (for example, an image or a text snippet). The schema of the payload is stored in the parent Dataset's metadata schema's dataItemSchemaUri field.", - "type": "any" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SearchDataItemsResponse": { - "id": "GoogleCloudAiplatformV1SearchDataItemsResponse", - "description": "Response message for DatasetService.SearchDataItems.", - "type": "object", - "properties": { - "dataItemViews": { - "description": "The DataItemViews read.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DataItemView" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to SearchDataItemsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DataItemView": { - "id": "GoogleCloudAiplatformV1DataItemView", - "description": "A container for a single DataItem and Annotations on it.", - "type": "object", - "properties": { - "dataItem": { - "description": "The DataItem.", - "$ref": "GoogleCloudAiplatformV1DataItem" - }, - "annotations": { - "description": "The Annotations on the DataItem. If too many Annotations should be returned for the DataItem, this field will be truncated per annotations_limit in request. If it was, then the has_truncated_annotations will be set to true.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Annotation" + "modelDeploymentMonitoringJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.modelDeploymentMonitoringJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^modelDeploymentMonitoringJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.modelDeploymentMonitoringJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.modelDeploymentMonitoringJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.modelDeploymentMonitoringJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.modelDeploymentMonitoringJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "hasTruncatedAnnotations": { - "description": "True if and only if the Annotations field has been truncated. It happens if more Annotations for this DataItem met the request's annotation_filter than are allowed to be returned by annotations_limit. Note that if Annotations field is not being returned due to field mask, then this field will not be set to true no matter how many Annotations are there.", - "type": "boolean" } } }, - "GoogleCloudAiplatformV1Annotation": { - "id": "GoogleCloudAiplatformV1Annotation", - "description": "Used to assign specific AnnotationSpec to a particular area of a DataItem or the whole part of the DataItem.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the Annotation.", - "readOnly": true, - "type": "string" - }, - "payloadSchemaUri": { - "description": "Required. Google Cloud Storage URI points to a YAML file describing payload. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with the parent Dataset's metadata.", - "type": "string" - }, - "payload": { - "description": "Required. The schema of the payload can be found in payload_schema.", - "type": "any" - }, - "createTime": { - "description": "Output only. Timestamp when this Annotation was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Annotation was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "annotationSource": { - "description": "Output only. The source of the Annotation.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1UserActionReference" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your Annotations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Annotation(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Annotation: * \"aiplatform.googleapis.com/annotation_set_name\": optional, name of the UI's annotation set this Annotation belongs to. If not set, the Annotation is not visible in the UI. * \"aiplatform.googleapis.com/payload_schema\": output only, its value is the payload_schema's title.", - "type": "object", - "additionalProperties": { - "type": "string" + "migratableResources": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.migratableResources.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/migratableResources/{migratableResourcesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^migratableResources/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.migratableResources.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/migratableResources/{migratableResourcesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^migratableResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.migratableResources.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/migratableResources/{migratableResourcesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^migratableResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.migratableResources.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^migratableResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.migratableResources.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^migratableResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } } } }, - "GoogleCloudAiplatformV1UserActionReference": { - "id": "GoogleCloudAiplatformV1UserActionReference", - "description": "References an API call. It contains more information about long running operation and Jobs that are triggered by the API call.", - "type": "object", - "properties": { - "operation": { - "description": "For API calls that return a long running operation. Resource name of the long running operation. Format: `projects/{project}/locations/{location}/operations/{operation}`", - "type": "string" - }, - "dataLabelingJob": { - "description": "For API calls that start a LabelingJob. Resource name of the LabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", - "type": "string" - }, - "method": { - "description": "The method name of the API RPC call. For example, \"/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset\"", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListSavedQueriesResponse": { - "id": "GoogleCloudAiplatformV1ListSavedQueriesResponse", - "description": "Response message for DatasetService.ListSavedQueries.", - "type": "object", - "properties": { - "savedQueries": { - "description": "A list of SavedQueries that match the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SavedQuery" + "models": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.models.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/models/{modelsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.models.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/models/{modelsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^models/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.models.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/models/{modelsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^models/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.models.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/models/{modelsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^models/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.models.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/models/{modelsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^models/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AnnotationSpec": { - "id": "GoogleCloudAiplatformV1AnnotationSpec", - "description": "Identifies a concept with which DataItems may be annotated with.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the AnnotationSpec.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the AnnotationSpec. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this AnnotationSpec was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when AnnotationSpec was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListAnnotationsResponse": { - "id": "GoogleCloudAiplatformV1ListAnnotationsResponse", - "description": "Response message for DatasetService.ListAnnotations.", - "type": "object", - "properties": { - "annotations": { - "description": "A list of Annotations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Annotation" + "evaluations": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.models.evaluations.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/models/{modelsId}/evaluations/{evaluationsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^models/[^/]+/evaluations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.models.evaluations.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^models/[^/]+/evaluations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.models.evaluations.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^models/[^/]+/evaluations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.models.evaluations.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^models/[^/]+/evaluations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.models.evaluations.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^models/[^/]+/evaluations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest": { - "id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest", - "description": "Request message for CreateDeploymentResourcePool method.", - "type": "object", - "properties": { - "deploymentResourcePool": { - "description": "Required. The DeploymentResourcePool to create.", - "$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" - }, - "deploymentResourcePoolId": { - "description": "Required. The ID to use for the DeploymentResourcePool, which will become the final component of the DeploymentResourcePool's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", - "type": "string" } } }, - "GoogleCloudAiplatformV1DeploymentResourcePool": { - "id": "GoogleCloudAiplatformV1DeploymentResourcePool", - "description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", - "type": "object", - "properties": { - "name": { - "description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", - "type": "string" - }, - "dedicatedResources": { - "description": "Required. The underlying DedicatedResources that the DeploymentResourcePool uses.", - "$ref": "GoogleCloudAiplatformV1DedicatedResources" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a DeploymentResourcePool. If set, this DeploymentResourcePool will be secured by this key. Endpoints and the DeploymentResourcePool they deploy in need to have the same EncryptionSpec.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "serviceAccount": { - "description": "The service account that the DeploymentResourcePool's container(s) run as. Specify the email address of the service account. If this service account is not specified, the container(s) run as a service account that doesn't have access to the resource project. Users deploying the Models to this DeploymentResourcePool must have the `iam.serviceAccounts.actAs` permission on this service account.", - "type": "string" - }, - "disableContainerLogging": { - "description": "If the DeploymentResourcePool is deployed with custom-trained Models or AutoML Tabular Models, the container(s) of the DeploymentResourcePool will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", - "type": "boolean" - }, - "createTime": { - "description": "Output only. Timestamp when this DeploymentResourcePool was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" + "notebookExecutionJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.notebookExecutionJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/notebookExecutionJobs/{notebookExecutionJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^notebookExecutionJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.notebookExecutionJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^notebookExecutionJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.notebookExecutionJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^notebookExecutionJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.notebookExecutionJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^notebookExecutionJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.notebookExecutionJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^notebookExecutionJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } } } }, - "GoogleCloudAiplatformV1DedicatedResources": { - "id": "GoogleCloudAiplatformV1DedicatedResources", - "description": "A description of resources that are dedicated to a DeployedModel or DeployedIndex, and that need a higher degree of manual configuration.", - "type": "object", - "properties": { - "machineSpec": { - "description": "Required. Immutable. The specification of a single machine being used.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "minReplicaCount": { - "description": "Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", - "type": "integer", - "format": "int32" - }, - "maxReplicaCount": { - "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", - "type": "integer", - "format": "int32" - }, - "requiredReplicaCount": { - "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", - "type": "integer", - "format": "int32" - }, - "autoscalingMetricSpecs": { - "description": "Immutable. The metric specifications that overrides a resource utilization metric (CPU utilization, accelerator's duty cycle, and so on) target value (default to 60 if not set). At most one entry is allowed per metric. If machine_spec.accelerator_count is above 0, the autoscaling will be based on both CPU utilization and accelerator's duty cycle metrics and scale up when either metrics exceeds its target value while scale down if both metrics are under their target value. The default target value is 60 for both metrics. If machine_spec.accelerator_count is 0, the autoscaling will be based on CPU utilization metric only with default target value 60 if not explicitly set. For example, in the case of Online Prediction, if you want to override target CPU utilization to 80, you should set autoscaling_metric_specs.metric_name to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and autoscaling_metric_specs.target to `80`.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1AutoscalingMetricSpec" + "notebookRuntimes": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.notebookRuntimes.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/notebookRuntimes/{notebookRuntimesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^notebookRuntimes/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.notebookRuntimes.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^notebookRuntimes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.notebookRuntimes.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^notebookRuntimes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.notebookRuntimes.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^notebookRuntimes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.notebookRuntimes.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^notebookRuntimes/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "spot": { - "description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", - "type": "boolean" } } }, - "GoogleCloudAiplatformV1MachineSpec": { - "id": "GoogleCloudAiplatformV1MachineSpec", - "description": "Specification of a single machine.", - "type": "object", - "properties": { - "machineType": { - "description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", - "type": "string" - }, - "acceleratorType": { - "description": "Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.", - "type": "string", - "enumDescriptions": [ - "Unspecified accelerator type, which means no accelerator.", - "Deprecated: Nvidia Tesla K80 GPU has reached end of support, see https://cloud.google.com/compute/docs/eol/k80-eol.", - "Nvidia Tesla P100 GPU.", - "Nvidia Tesla V100 GPU.", - "Nvidia Tesla P4 GPU.", - "Nvidia Tesla T4 GPU.", - "Nvidia Tesla A100 GPU.", - "Nvidia A100 80GB GPU.", - "Nvidia L4 GPU.", - "Nvidia H100 80Gb GPU.", - "Nvidia H100 Mega 80Gb GPU.", - "Nvidia H200 141Gb GPU.", - "Nvidia B200 GPU.", - "TPU v2.", - "TPU v3.", - "TPU v4.", - "TPU v5." - ], - "enumDeprecated": [ - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enum": [ - "ACCELERATOR_TYPE_UNSPECIFIED", - "NVIDIA_TESLA_K80", - "NVIDIA_TESLA_P100", - "NVIDIA_TESLA_V100", - "NVIDIA_TESLA_P4", - "NVIDIA_TESLA_T4", - "NVIDIA_TESLA_A100", - "NVIDIA_A100_80GB", - "NVIDIA_L4", - "NVIDIA_H100_80GB", - "NVIDIA_H100_MEGA_80GB", - "NVIDIA_H200_141GB", - "NVIDIA_B200", - "TPU_V2", - "TPU_V3", - "TPU_V4_POD", - "TPU_V5_LITEPOD" - ] - }, - "acceleratorCount": { - "description": "The number of accelerators to attach to the machine.", - "type": "integer", - "format": "int32" - }, - "tpuTopology": { - "description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", - "type": "string" - }, - "reservationAffinity": { - "description": "Optional. Immutable. Configuration controlling how this resource pool consumes reservation.", - "$ref": "GoogleCloudAiplatformV1ReservationAffinity" - } - } - }, - "GoogleCloudAiplatformV1ReservationAffinity": { - "id": "GoogleCloudAiplatformV1ReservationAffinity", - "description": "A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity.", - "type": "object", - "properties": { - "reservationAffinityType": { - "description": "Required. Specifies the reservation affinity type.", - "type": "string", - "enumDescriptions": [ - "Default value. This should not be used.", - "Do not consume from any reserved capacity, only use on-demand.", - "Consume any reservation available, falling back to on-demand.", - "Consume from a specific reservation. When chosen, the reservation must be identified via the `key` and `values` fields." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "NO_RESERVATION", - "ANY_RESERVATION", - "SPECIFIC_RESERVATION" - ] - }, - "key": { - "description": "Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value.", - "type": "string" - }, - "values": { - "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1AutoscalingMetricSpec": { - "id": "GoogleCloudAiplatformV1AutoscalingMetricSpec", - "description": "The metric specification that defines the target resource utilization (CPU utilization, accelerator's duty cycle, and so on) for calculating the desired replica count.", - "type": "object", - "properties": { - "metricName": { - "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`", - "type": "string" - }, - "target": { - "description": "The target resource utilization in percentage (1% - 100%) for the given metric; once the real usage deviates from the target by a certain percentage, the machine replicas change. The default value is 60 (representing 60%) if not provided.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse": { - "id": "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse", - "description": "Response message for ListDeploymentResourcePools method.", - "type": "object", - "properties": { - "deploymentResourcePools": { - "description": "The DeploymentResourcePools from the specified location.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" + "notebookRuntimeTemplates": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.notebookRuntimeTemplates.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^notebookRuntimeTemplates/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.notebookRuntimeTemplates.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^notebookRuntimeTemplates/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.notebookRuntimeTemplates.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^notebookRuntimeTemplates/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.notebookRuntimeTemplates.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^notebookRuntimeTemplates/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.notebookRuntimeTemplates.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^notebookRuntimeTemplates/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" } } }, - "GoogleCloudAiplatformV1QueryDeployedModelsResponse": { - "id": "GoogleCloudAiplatformV1QueryDeployedModelsResponse", - "description": "Response message for QueryDeployedModels method.", - "type": "object", - "properties": { - "deployedModels": { - "description": "DEPRECATED Use deployed_model_refs instead.", - "deprecated": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedModel" + "studies": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.studies.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/studies/{studiesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.studies.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/studies/{studiesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.studies.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/studies/{studiesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.studies.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/studies/{studiesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.studies.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/studies/{studiesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - }, - "deployedModelRefs": { - "description": "References to the DeployedModels that share the specified deploymentResourcePool.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedModelRef" + "trials": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.studies.trials.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/studies/{studiesId}/trials/{trialsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.studies.trials.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.studies.trials.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.studies.trials.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.studies.trials.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } - }, - "totalDeployedModelCount": { - "description": "The total number of DeployedModels on this DeploymentResourcePool.", - "type": "integer", - "format": "int32" - }, - "totalEndpointCount": { - "description": "The total number of Endpoints that have DeployedModels on this DeploymentResourcePool.", - "type": "integer", - "format": "int32" } } }, - "GoogleCloudAiplatformV1DeployedModel": { - "id": "GoogleCloudAiplatformV1DeployedModel", - "description": "A deployment of a Model. Endpoints contain one or more DeployedModels.", - "type": "object", - "properties": { - "dedicatedResources": { - "description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", - "$ref": "GoogleCloudAiplatformV1DedicatedResources" - }, - "automaticResources": { - "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", - "$ref": "GoogleCloudAiplatformV1AutomaticResources" - }, - "sharedResources": { - "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", - "type": "string" - }, - "id": { - "description": "Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`.", - "type": "string" - }, - "model": { - "description": "The resource name of the Model that this is the deployment of. Note that the Model may be in a different location than the DeployedModel's Endpoint. The resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed.", - "type": "string" - }, - "gdcConnectedModel": { - "description": "GDC pretrained / Gemini model name. The model name is a plain model name, e.g. gemini-1.5-flash-002.", - "type": "string" - }, - "modelVersionId": { - "description": "Output only. The version ID of the model that is deployed.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the DeployedModel. If not provided upon creation, the Model's display_name is used.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when the DeployedModel was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "explanationSpec": { - "description": "Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration.", - "$ref": "GoogleCloudAiplatformV1ExplanationSpec" - }, - "disableExplanations": { - "description": "If true, deploy the model without explainable feature, regardless the existence of Model.explanation_spec or explanation_spec.", - "type": "boolean" - }, - "serviceAccount": { - "description": "The service account that the DeployedModel's container runs as. Specify the email address of the service account. If this service account is not specified, the container runs as a service account that doesn't have access to the resource project. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", - "type": "string" - }, - "disableContainerLogging": { - "description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", - "type": "boolean" - }, - "enableAccessLogging": { - "description": "If true, online prediction access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each prediction request. Note that logs may incur a cost, especially if your project receives prediction requests at a high queries per second rate (QPS). Estimate your costs before enabling this option.", - "type": "boolean" - }, - "privateEndpoints": { - "description": "Output only. Provide paths for users to send predict/explain/health requests directly to the deployed model services running on Cloud via private services access. This field is populated if network is configured.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PrivateEndpoints" - }, - "fasterDeploymentConfig": { - "description": "Configuration for faster model deployment.", - "$ref": "GoogleCloudAiplatformV1FasterDeploymentConfig" - }, - "status": { - "description": "Output only. Runtime status of the deployed model.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1DeployedModelStatus" - }, - "systemLabels": { - "description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", - "type": "object", - "additionalProperties": { - "type": "string" + "trainingPipelines": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.trainingPipelines.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/trainingPipelines/{trainingPipelinesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^trainingPipelines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.trainingPipelines.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.trainingPipelines.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.trainingPipelines.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.trainingPipelines.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^trainingPipelines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "checkpointId": { - "description": "The checkpoint id of the model.", - "type": "string" - }, - "speculativeDecodingSpec": { - "description": "Optional. Spec for configuring speculative decoding.", - "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpec" - } - } - }, - "GoogleCloudAiplatformV1AutomaticResources": { - "id": "GoogleCloudAiplatformV1AutomaticResources", - "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", - "type": "object", - "properties": { - "minReplicaCount": { - "description": "Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.", - "type": "integer", - "format": "int32" - }, - "maxReplicaCount": { - "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ExplanationSpec": { - "id": "GoogleCloudAiplatformV1ExplanationSpec", - "description": "Specification of Model explanation.", - "type": "object", - "properties": { - "parameters": { - "description": "Required. Parameters that configure explaining of the Model's predictions.", - "$ref": "GoogleCloudAiplatformV1ExplanationParameters" - }, - "metadata": { - "description": "Optional. Metadata describing the Model's input and output for explanation.", - "$ref": "GoogleCloudAiplatformV1ExplanationMetadata" } } }, - "GoogleCloudAiplatformV1ExplanationParameters": { - "id": "GoogleCloudAiplatformV1ExplanationParameters", - "description": "Parameters to configure explaining for Model's predictions.", - "type": "object", - "properties": { - "sampledShapleyAttribution": { - "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features. Refer to this paper for model details: https://arxiv.org/abs/1306.4265.", - "$ref": "GoogleCloudAiplatformV1SampledShapleyAttribution" - }, - "integratedGradientsAttribution": { - "description": "An attribution method that computes Aumann-Shapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", - "$ref": "GoogleCloudAiplatformV1IntegratedGradientsAttribution" - }, - "xraiAttribution": { - "description": "An attribution method that redistributes Integrated Gradients attribution to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 XRAI currently performs better on natural images, like a picture of a house or an animal. If the images are taken in artificial environments, like a lab or manufacturing line, or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead.", - "$ref": "GoogleCloudAiplatformV1XraiAttribution" - }, - "examples": { - "description": "Example-based explanations that returns the nearest neighbors from the provided dataset.", - "$ref": "GoogleCloudAiplatformV1Examples" - }, - "topK": { - "description": "If populated, returns attributions for top K indices of outputs (defaults to 1). Only applies to Models that predicts more than one outputs (e,g, multi-class Models). When set to -1, returns explanations for all outputs.", - "type": "integer", - "format": "int32" - }, - "outputIndices": { - "description": "If populated, only returns attributions that have output_index contained in output_indices. It must be an ndarray of integers, with the same shape of the output it's explaining. If not populated, returns attributions for top_k indices of outputs. If neither top_k nor output_indices is populated, returns the argmax index of the outputs. Only applicable to Models that predict multiple outputs (e,g, multi-class Models that predict multiple classes).", - "type": "array", - "items": { - "type": "any" + "persistentResources": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.persistentResources.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/persistentResources/{persistentResourcesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^persistentResources/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.persistentResources.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/persistentResources/{persistentResourcesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^persistentResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.persistentResources.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/persistentResources/{persistentResourcesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^persistentResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.persistentResources.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^persistentResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.persistentResources.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^persistentResources/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } } } }, - "GoogleCloudAiplatformV1SampledShapleyAttribution": { - "id": "GoogleCloudAiplatformV1SampledShapleyAttribution", - "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features.", - "type": "object", - "properties": { - "pathCount": { - "description": "Required. The number of feature permutations to consider when approximating the Shapley values. Valid range of its value is [1, 50], inclusively.", - "type": "integer", - "format": "int32" + "pipelineJobs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.pipelineJobs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/pipelineJobs/{pipelineJobsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^pipelineJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.pipelineJobs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^pipelineJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.pipelineJobs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^pipelineJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.pipelineJobs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^pipelineJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.pipelineJobs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^pipelineJobs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } } } }, - "GoogleCloudAiplatformV1IntegratedGradientsAttribution": { - "id": "GoogleCloudAiplatformV1IntegratedGradientsAttribution", - "description": "An attribution method that computes the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", - "type": "object", - "properties": { - "stepCount": { - "description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is within the desired error range. Valid range of its value is [1, 100], inclusively.", - "type": "integer", - "format": "int32" - }, - "smoothGradConfig": { - "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", - "$ref": "GoogleCloudAiplatformV1SmoothGradConfig" - }, - "blurBaselineConfig": { - "description": "Config for IG with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", - "$ref": "GoogleCloudAiplatformV1BlurBaselineConfig" - } - } - }, - "GoogleCloudAiplatformV1SmoothGradConfig": { - "id": "GoogleCloudAiplatformV1SmoothGradConfig", - "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", - "type": "object", - "properties": { - "noiseSigma": { - "description": "This is a single float value and will be used to add noise to all the features. Use this field when all features are normalized to have the same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where features are normalized to have 0-mean and 1-variance. Learn more about [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). For best results the recommended value is about 10% - 20% of the standard deviation of the input feature. Refer to section 3.2 of the SmoothGrad paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. If the distribution is different per feature, set feature_noise_sigma instead for each feature.", - "type": "number", - "format": "float" - }, - "featureNoiseSigma": { - "description": "This is similar to noise_sigma, but provides additional flexibility. A separate noise sigma can be provided for each feature, which is useful if their distributions are different. No noise is added to features that are not set. If this field is unset, noise_sigma will be used for all features.", - "$ref": "GoogleCloudAiplatformV1FeatureNoiseSigma" - }, - "noisySampleCount": { - "description": "The number of gradient samples to use for approximation. The higher this number, the more accurate the gradient is, but the runtime complexity increases by this factor as well. Valid range of its value is [1, 50]. Defaults to 3.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1FeatureNoiseSigma": { - "id": "GoogleCloudAiplatformV1FeatureNoiseSigma", - "description": "Noise sigma by features. Noise sigma represents the standard deviation of the gaussian kernel that will be used to add noise to interpolated inputs prior to computing gradients.", - "type": "object", - "properties": { - "noiseSigma": { - "description": "Noise sigma per feature. No noise is added to features that are not set.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature" + "ragEngineConfig": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.ragEngineConfig.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/ragEngineConfig/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^ragEngineConfig$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.ragEngineConfig.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/ragEngineConfig/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.ragEngineConfig.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/ragEngineConfig/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.ragEngineConfig.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/ragEngineConfig/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.ragEngineConfig.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/ragEngineConfig/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } } } }, - "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature": { - "id": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature", - "description": "Noise sigma for a single feature.", - "type": "object", - "properties": { - "name": { - "description": "The name of the input feature for which noise sigma is provided. The features are defined in explanation metadata inputs.", - "type": "string" - }, - "sigma": { - "description": "This represents the standard deviation of the Gaussian kernel that will be used to add noise to the feature prior to computing gradients. Similar to noise_sigma but represents the noise added to the current feature. Defaults to 0.1.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1BlurBaselineConfig": { - "id": "GoogleCloudAiplatformV1BlurBaselineConfig", - "description": "Config for blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", - "type": "object", - "properties": { - "maxBlurSigma": { - "description": "The standard deviation of the blur kernel for the blurred baseline. The same blurring parameter is used for both the height and the width dimension. If not set, the method defaults to the zero (i.e. black for images) baseline.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1XraiAttribution": { - "id": "GoogleCloudAiplatformV1XraiAttribution", - "description": "An explanation method that redistributes Integrated Gradients attributions to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Supported only by image Models.", - "type": "object", - "properties": { - "stepCount": { - "description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range. Valid range of its value is [1, 100], inclusively.", - "type": "integer", - "format": "int32" - }, - "smoothGradConfig": { - "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", - "$ref": "GoogleCloudAiplatformV1SmoothGradConfig" - }, - "blurBaselineConfig": { - "description": "Config for XRAI with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", - "$ref": "GoogleCloudAiplatformV1BlurBaselineConfig" - } - } - }, - "GoogleCloudAiplatformV1Examples": { - "id": "GoogleCloudAiplatformV1Examples", - "description": "Example-based explainability that returns the nearest neighbors from the provided dataset.", - "type": "object", - "properties": { - "exampleGcsSource": { - "description": "The Cloud Storage input instances.", - "$ref": "GoogleCloudAiplatformV1ExamplesExampleGcsSource" - }, - "nearestNeighborSearchConfig": { - "description": "The full configuration for the generated index, the semantics are the same as metadata and should match [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config).", - "type": "any" - }, - "presets": { - "description": "Simplified preset configuration, which automatically sets configuration values based on the desired query speed-precision trade-off and modality.", - "$ref": "GoogleCloudAiplatformV1Presets" - }, - "neighborCount": { - "description": "The number of neighbors to return when querying for examples.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ExamplesExampleGcsSource": { - "id": "GoogleCloudAiplatformV1ExamplesExampleGcsSource", - "description": "The Cloud Storage input instances.", - "type": "object", - "properties": { - "dataFormat": { - "description": "The format in which instances are given, if not specified, assume it's JSONL format. Currently only JSONL format is supported.", - "type": "string", - "enumDescriptions": [ - "Format unspecified, used when unset.", - "Examples are stored in JSONL files." - ], - "enum": [ - "DATA_FORMAT_UNSPECIFIED", - "JSONL" - ] + "ragCorpora": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.ragCorpora.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/ragCorpora/{ragCorporaId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^ragCorpora/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.ragCorpora.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/ragCorpora/{ragCorporaId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^ragCorpora/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.ragCorpora.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/ragCorpora/{ragCorporaId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^ragCorpora/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.ragCorpora.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^ragCorpora/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.ragCorpora.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^ragCorpora/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "gcsSource": { - "description": "The Cloud Storage location for the input instances.", - "$ref": "GoogleCloudAiplatformV1GcsSource" + "ragFiles": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.ragCorpora.ragFiles.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.ragCorpora.ragFiles.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.ragCorpora.ragFiles.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.ragCorpora.ragFiles.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.ragCorpora.ragFiles.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } } } }, - "GoogleCloudAiplatformV1Presets": { - "id": "GoogleCloudAiplatformV1Presets", - "description": "Preset configuration for example-based explanations", - "type": "object", - "properties": { - "query": { - "description": "Preset option controlling parameters for speed-precision trade-off when querying for examples. If omitted, defaults to `PRECISE`.", - "type": "string", - "enumDescriptions": [ - "More precise neighbors as a trade-off against slower response.", - "Faster response as a trade-off against less precise neighbors." - ], - "enum": [ - "PRECISE", - "FAST" - ] - }, - "modality": { - "description": "The modality of the uploaded model, which automatically configures the distance measurement and feature normalization for the underlying example index and queries. If your model does not precisely fit one of these types, it is okay to choose the closest type.", - "type": "string", - "enumDescriptions": [ - "Should not be set. Added as a recommended best practice for enums", - "IMAGE modality", - "TEXT modality", - "TABULAR modality" - ], - "enum": [ - "MODALITY_UNSPECIFIED", - "IMAGE", - "TEXT", - "TABULAR" - ] - } - } - }, - "GoogleCloudAiplatformV1ExplanationMetadata": { - "id": "GoogleCloudAiplatformV1ExplanationMetadata", - "description": "Metadata describing the Model's input and output for explanation.", - "type": "object", - "properties": { - "inputs": { - "description": "Required. Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata" - } - }, - "outputs": { - "description": "Required. Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata" + "schedules": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.schedules.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/schedules/{schedulesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^schedules/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.schedules.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/schedules/{schedulesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^schedules/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.schedules.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/schedules/{schedulesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^schedules/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.schedules.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/schedules/{schedulesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^schedules/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.schedules.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/schedules/{schedulesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^schedules/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "featureAttributionsSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "latentSpaceSource": { - "description": "Name of the source to generate embeddings for example based explanations.", - "type": "string" } } }, - "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata", - "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", - "type": "object", - "properties": { - "inputBaselines": { - "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", - "type": "array", - "items": { - "type": "any" - } - }, - "inputTensorName": { - "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow.", - "type": "string" - }, - "encoding": { - "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", - "type": "string", - "enumDescriptions": [ - "Default value. This is the same as IDENTITY.", - "The tensor represents one feature.", - "The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = [\"age\", \"height\", \"weight\"] ```", - "The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", - "The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", - "The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```", - "Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ```" - ], - "enum": [ - "ENCODING_UNSPECIFIED", - "IDENTITY", - "BAG_OF_FEATURES", - "BAG_OF_FEATURES_SPARSE", - "INDICATOR", - "COMBINED_EMBEDDING", - "CONCAT_EMBEDDING" - ] - }, - "modality": { - "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric.", - "type": "string" - }, - "featureValueDomain": { - "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized.", - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain" - }, - "indicesTensorName": { - "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", - "type": "string" - }, - "denseShapeTensorName": { - "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", - "type": "string" - }, - "indexFeatureMapping": { - "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR.", - "type": "array", - "items": { - "type": "string" - } - }, - "encodedTensorName": { - "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table.", - "type": "string" - }, - "encodedBaselines": { - "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor.", - "type": "array", - "items": { - "type": "any" + "specialistPools": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.specialistPools.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/specialistPools/{specialistPoolsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^specialistPools/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.specialistPools.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/specialistPools/{specialistPoolsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^specialistPools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.specialistPools.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/specialistPools/{specialistPoolsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^specialistPools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.specialistPools.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^specialistPools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.specialistPools.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^specialistPools/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } } - }, - "visualization": { - "description": "Visualization configurations for image explanation.", - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization" - }, - "groupName": { - "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain", - "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", - "type": "object", - "properties": { - "minValue": { - "description": "The minimum permissible value for this feature.", - "type": "number", - "format": "float" - }, - "maxValue": { - "description": "The maximum permissible value for this feature.", - "type": "number", - "format": "float" - }, - "originalMean": { - "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization.", - "type": "number", - "format": "float" - }, - "originalStddev": { - "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization.", - "type": "number", - "format": "float" } } }, - "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization", - "description": "Visualization configurations for image explanation.", - "type": "object", - "properties": { - "type": { - "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "Shows which pixel contributed to the image prediction.", - "Shows which region contributed to the image prediction by outlining the region." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PIXELS", - "OUTLINES" - ] + "tensorboards": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.tensorboards.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/tensorboards/{tensorboardsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^tensorboards/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.tensorboards.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^tensorboards/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.tensorboards.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^tensorboards/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.tensorboards.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^tensorboards/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.tensorboards.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^tensorboards/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "polarity": { - "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", - "type": "string", - "enumDescriptions": [ - "Default value. This is the same as POSITIVE.", - "Highlights the pixels/outlines that were most influential to the model's prediction.", - "Setting polarity to negative highlights areas that does not lead to the models's current prediction.", - "Shows both positive and negative attributions." - ], - "enum": [ - "POLARITY_UNSPECIFIED", - "POSITIVE", - "NEGATIVE", - "BOTH" - ] - }, - "colorMap": { - "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "Positive: green. Negative: pink.", - "Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", - "Positive: red. Negative: red.", - "Positive: green. Negative: green.", - "Positive: green. Negative: red.", - "PiYG palette." - ], - "enum": [ - "COLOR_MAP_UNSPECIFIED", - "PINK_GREEN", - "VIRIDIS", - "RED", - "GREEN", - "RED_GREEN", - "PINK_WHITE_GREEN" - ] - }, - "clipPercentUpperbound": { - "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9.", - "type": "number", - "format": "float" - }, - "clipPercentLowerbound": { - "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62.", - "type": "number", - "format": "float" - }, - "overlayType": { - "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", - "type": "string", - "enumDescriptions": [ - "Default value. This is the same as NONE.", - "No overlay.", - "The attributions are shown on top of the original image.", - "The attributions are shown on top of grayscaled version of the original image.", - "The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts." - ], - "enum": [ - "OVERLAY_TYPE_UNSPECIFIED", - "NONE", - "ORIGINAL", - "GRAYSCALE", - "MASK_BLACK" - ] - } - } - }, - "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata", - "description": "Metadata of the prediction output to be explained.", - "type": "object", - "properties": { - "indexDisplayNameMapping": { - "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index.", - "type": "any" - }, - "displayNameMappingKey": { - "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output.", - "type": "string" - }, - "outputTensorName": { - "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow.", - "type": "string" + "experiments": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.tensorboards.experiments.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.tensorboards.experiments.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.tensorboards.experiments.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.tensorboards.experiments.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.tensorboards.experiments.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "runs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.tensorboards.experiments.runs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.tensorboards.experiments.runs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.tensorboards.experiments.runs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.tensorboards.experiments.runs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.tensorboards.experiments.runs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "timeSeries": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } + } + } + } + } } } }, - "GoogleCloudAiplatformV1PrivateEndpoints": { - "id": "GoogleCloudAiplatformV1PrivateEndpoints", - "description": "PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment.", - "type": "object", - "properties": { - "predictHttpUri": { - "description": "Output only. Http(s) path to send prediction requests.", - "readOnly": true, - "type": "string" - }, - "explainHttpUri": { - "description": "Output only. Http(s) path to send explain requests.", - "readOnly": true, - "type": "string" - }, - "healthHttpUri": { - "description": "Output only. Http(s) path to send health check requests.", - "readOnly": true, - "type": "string" - }, - "serviceAttachment": { - "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FasterDeploymentConfig": { - "id": "GoogleCloudAiplatformV1FasterDeploymentConfig", - "description": "Configuration for faster model deployment.", - "type": "object", - "properties": { - "fastTryoutEnabled": { - "description": "If true, enable fast tryout feature for this deployed model.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1DeployedModelStatus": { - "id": "GoogleCloudAiplatformV1DeployedModelStatus", - "description": "Runtime status of the deployed model.", - "type": "object", - "properties": { - "message": { - "description": "Output only. The latest deployed model's status message (if any).", - "readOnly": true, - "type": "string" - }, - "lastUpdateTime": { - "description": "Output only. The time at which the status was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" + "featureOnlineStores": { + "resources": { + "operations": { + "methods": { + "listWait": { + "id": "aiplatform.featureOnlineStores.operations.listWait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featureOnlineStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featureOnlineStores.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featureOnlineStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featureOnlineStores.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featureOnlineStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "wait": { + "id": "aiplatform.featureOnlineStores.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featureOnlineStores/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "availableReplicaCount": { - "description": "Output only. The number of available replicas of the deployed model.", - "readOnly": true, - "type": "integer", - "format": "int32" + "featureViews": { + "resources": { + "operations": { + "methods": { + "listWait": { + "id": "aiplatform.featureOnlineStores.featureViews.operations.listWait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featureOnlineStores.featureViews.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featureOnlineStores.featureViews.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "wait": { + "id": "aiplatform.featureOnlineStores.featureViews.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } } } }, - "GoogleCloudAiplatformV1SpeculativeDecodingSpec": { - "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpec", - "description": "Configuration for Speculative Decoding.", - "type": "object", - "properties": { - "draftModelSpeculation": { - "description": "draft model speculation.", - "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation" - }, - "ngramSpeculation": { - "description": "N-Gram speculation.", - "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation" + "featureGroups": { + "resources": { + "operations": { + "methods": { + "listWait": { + "id": "aiplatform.featureGroups.operations.listWait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featureGroups/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featureGroups.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featureGroups/{featureGroupsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featureGroups/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featureGroups.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featureGroups/{featureGroupsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featureGroups/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "wait": { + "id": "aiplatform.featureGroups.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featureGroups/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "speculativeTokenCount": { - "description": "The number of speculative tokens to generate at each step.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation": { - "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation", - "description": "Draft model speculation works by using the smaller model to generate candidate tokens for speculative decoding.", - "type": "object", - "properties": { - "draftModel": { - "description": "Required. The resource name of the draft model.", - "type": "string" + "features": { + "resources": { + "operations": { + "methods": { + "listWait": { + "id": "aiplatform.featureGroups.features.operations.listWait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.featureGroups.features.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.featureGroups.features.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "wait": { + "id": "aiplatform.featureGroups.features.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } } } }, - "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation": { - "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation", - "description": "N-Gram speculation works by trying to find matching tokens in the previous prompt sequence and use those as speculation for generating new tokens.", - "type": "object", - "properties": { - "ngramSize": { - "description": "The number of last N input tokens used as ngram to search/match against the previous prompt sequence. This is equal to the N in N-Gram. The default value is 3 if not specified.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1DeployedModelRef": { - "id": "GoogleCloudAiplatformV1DeployedModelRef", - "description": "Points to a DeployedModel.", - "type": "object", - "properties": { - "endpoint": { - "description": "Immutable. A resource name of an Endpoint.", - "type": "string" - }, - "deployedModelId": { - "description": "Immutable. An ID of a DeployedModel in the above Endpoint.", - "type": "string" - }, - "checkpointId": { - "description": "Immutable. The ID of the Checkpoint deployed in the DeployedModel.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Endpoint": { - "id": "GoogleCloudAiplatformV1Endpoint", - "description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the Endpoint.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the Endpoint.", - "type": "string" - }, - "deployedModels": { - "description": "Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedModel" - } - }, - "trafficSplit": { - "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment.", - "type": "object", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Endpoint was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Endpoint was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "network": { - "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name.", - "type": "string" - }, - "enablePrivateServiceConnect": { - "description": "Deprecated: If true, expose the Endpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", - "deprecated": true, - "type": "boolean" - }, - "privateServiceConnectConfig": { - "description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive.", - "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" - }, - "modelDeploymentMonitoringJob": { - "description": "Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", - "readOnly": true, - "type": "string" - }, - "predictRequestResponseLoggingConfig": { - "description": "Configures the request-response logging for online prediction.", - "$ref": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig" - }, - "dedicatedEndpointEnabled": { - "description": "If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon.", - "type": "boolean" - }, - "dedicatedEndpointDns": { - "description": "Output only. DNS of the dedicated endpoint. Will only be populated if dedicated_endpoint_enabled is true. Depending on the features enabled, uid might be a random number or a string. For example, if fast_tryout is enabled, uid will be fasttryout. Format: `https://{endpoint_id}.{region}-{uid}.prediction.vertexai.goog`.", - "readOnly": true, - "type": "string" - }, - "gdcConfig": { - "description": "Configures the Google Distributed Cloud (GDC) environment for online prediction. Only set this field when the Endpoint is to be deployed in a GDC environment.", - "$ref": "GoogleCloudAiplatformV1GdcConfig" - }, - "clientConnectionConfig": { - "description": "Configurations that are applied to the endpoint for online prediction.", - "$ref": "GoogleCloudAiplatformV1ClientConnectionConfig" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "genAiAdvancedFeaturesConfig": { - "description": "Optional. Configuration for GenAiAdvancedFeatures. If the endpoint is serving GenAI models, advanced features like native RAG integration can be configured. Currently, only Model Garden models are supported.", - "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig" - } - } - }, - "GoogleCloudAiplatformV1PrivateServiceConnectConfig": { - "id": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", - "description": "Represents configuration for private service connect.", - "type": "object", - "properties": { - "enablePrivateServiceConnect": { - "description": "Required. If true, expose the IndexEndpoint via private service connect.", - "type": "boolean" - }, - "projectAllowlist": { - "description": "A list of Projects from which the forwarding rule will target the service attachment.", - "type": "array", - "items": { - "type": "string" - } - }, - "pscAutomationConfigs": { - "description": "Optional. List of projects and networks where the PSC endpoints will be created. This field is used by Online Inference(Prediction) only.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PSCAutomationConfig" - } - }, - "serviceAttachment": { - "description": "Output only. The name of the generated service attachment resource. This is only populated if the endpoint is deployed with PrivateServiceConnect.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PSCAutomationConfig": { - "id": "GoogleCloudAiplatformV1PSCAutomationConfig", - "description": "PSC config that is used to automatically create PSC endpoints in the user projects.", - "type": "object", - "properties": { - "projectId": { - "description": "Required. Project id used to create forwarding rule.", - "type": "string" - }, - "network": { - "description": "Required. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/get): `projects/{project}/global/networks/{network}`.", - "type": "string" + "datasets": { + "methods": { + "create": { + "id": "aiplatform.datasets.create", + "path": "v1/datasets", + "flatPath": "v1/datasets", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [], + "request": { + "$ref": "GoogleCloudAiplatformV1Dataset" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates a Dataset." }, - "ipAddress": { - "description": "Output only. IP address rule created by the PSC service automation.", - "readOnly": true, - "type": "string" + "get": { + "id": "aiplatform.datasets.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the Dataset resource.", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Mask specifying which fields to read.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a Dataset." }, - "forwardingRule": { - "description": "Output only. Forwarding rule created by the PSC service automation.", - "readOnly": true, - "type": "string" + "patch": { + "id": "aiplatform.datasets.patch", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1Dataset" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates a Dataset." }, - "state": { - "description": "Output only. The state of the PSC service automation.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "The PSC service automation is successful.", - "The PSC service automation has failed." + "list": { + "id": "aiplatform.datasets.list", + "path": "v1/datasets", + "flatPath": "v1/datasets", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + }, + "filter": { + "description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Mask specifying which fields to read.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [], + "response": { + "$ref": "GoogleCloudAiplatformV1ListDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "enum": [ - "PSC_AUTOMATION_STATE_UNSPECIFIED", - "PSC_AUTOMATION_STATE_SUCCESSFUL", - "PSC_AUTOMATION_STATE_FAILED" - ] + "description": "Lists Datasets in a Location." }, - "errorMessage": { - "description": "Output only. Error message if the PSC service automation failed.", - "readOnly": true, - "type": "string" + "delete": { + "id": "aiplatform.datasets.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a Dataset." } - } - }, - "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig": { - "id": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig", - "description": "Configuration for logging request-response to a BigQuery table.", - "type": "object", - "properties": { - "enabled": { - "description": "If logging is enabled or not.", - "type": "boolean" - }, - "samplingRate": { - "description": "Percentage of requests to be logged, expressed as a fraction in range(0,1].", - "type": "number", - "format": "double" + }, + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.datasets.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/datasets/{datasetsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.datasets.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^datasets/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.datasets.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^datasets/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.datasets.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/datasets/{datasetsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^datasets/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.datasets.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/datasets/{datasetsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^datasets/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } }, - "bigqueryDestination": { - "description": "BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging`", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - } - } - }, - "GoogleCloudAiplatformV1BigQueryDestination": { - "id": "GoogleCloudAiplatformV1BigQueryDestination", - "description": "The BigQuery location for the output content.", - "type": "object", - "properties": { - "outputUri": { - "description": "Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GdcConfig": { - "id": "GoogleCloudAiplatformV1GdcConfig", - "description": "Google Distributed Cloud (GDC) config.", - "type": "object", - "properties": { - "zone": { - "description": "GDC zone. A cluster will be designated for the Vertex AI workload in this zone.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ClientConnectionConfig": { - "id": "GoogleCloudAiplatformV1ClientConnectionConfig", - "description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", - "type": "object", - "properties": { - "inferenceTimeout": { - "description": "Customizable online prediction request timeout.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig": { - "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig", - "description": "Configuration for GenAiAdvancedFeatures.", - "type": "object", - "properties": { - "ragConfig": { - "description": "Configuration for Retrieval Augmented Generation feature.", - "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig" - } - } - }, - "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig": { - "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig", - "description": "Configuration for Retrieval Augmented Generation feature.", - "type": "object", - "properties": { - "enableRag": { - "description": "If true, enable Retrieval Augmented Generation in ChatCompletion request. Once enabled, the endpoint will be identified as GenAI endpoint and Arthedain router will be used.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ListEndpointsResponse": { - "id": "GoogleCloudAiplatformV1ListEndpointsResponse", - "description": "Response message for EndpointService.ListEndpoints.", - "type": "object", - "properties": { - "endpoints": { - "description": "List of Endpoints in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Endpoint" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListEndpointsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest": { - "id": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest", - "description": "Request message for EndpointService.UpdateEndpointLongRunning.", - "type": "object", - "properties": { - "endpoint": { - "description": "Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked.", - "$ref": "GoogleCloudAiplatformV1Endpoint" - } - } - }, - "GoogleCloudAiplatformV1DeployModelRequest": { - "id": "GoogleCloudAiplatformV1DeployModelRequest", - "description": "Request message for EndpointService.DeployModel.", - "type": "object", - "properties": { - "deployedModel": { - "description": "Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedModel" - }, - "trafficSplit": { - "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If this field is non-empty, then the Endpoint's traffic_split will be overwritten with it. To refer to the ID of the just being deployed Model, a \"0\" should be used, and the actual ID of the new DeployedModel will be filled in its place by this method. The traffic percentage values must add up to 100. If this field is empty, then the Endpoint's traffic_split is not updated.", - "type": "object", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - } - } - }, - "GoogleCloudAiplatformV1UndeployModelRequest": { - "id": "GoogleCloudAiplatformV1UndeployModelRequest", - "description": "Request message for EndpointService.UndeployModel.", - "type": "object", - "properties": { - "deployedModelId": { - "description": "Required. The ID of the DeployedModel to be undeployed from the Endpoint.", - "type": "string" - }, - "trafficSplit": { - "description": "If this field is provided, then the Endpoint's traffic_split will be overwritten with it. If last DeployedModel is being undeployed from the Endpoint, the [Endpoint.traffic_split] will always end up empty when this call returns. A DeployedModel will be successfully undeployed only if it doesn't have any traffic assigned to it when this method executes, or if this field unassigns any traffic to it.", - "type": "object", - "additionalProperties": { - "type": "integer", - "format": "int32" + "dataItems": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.datasets.dataItems.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.datasets.dataItems.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.datasets.dataItems.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.datasets.dataItems.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.datasets.dataItems.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "annotations": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.datasets.dataItems.annotations.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.datasets.dataItems.annotations.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.datasets.dataItems.annotations.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.datasets.dataItems.annotations.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.datasets.dataItems.annotations.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } + } } - } - } - }, - "GoogleCloudAiplatformV1MutateDeployedModelRequest": { - "id": "GoogleCloudAiplatformV1MutateDeployedModelRequest", - "description": "Request message for EndpointService.MutateDeployedModel.", - "type": "object", - "properties": { - "deployedModel": { - "description": "Required. The DeployedModel to be mutated within the Endpoint. Only the following fields can be mutated: * `min_replica_count` in either DedicatedResources or AutomaticResources * `max_replica_count` in either DedicatedResources or AutomaticResources * `required_replica_count` in DedicatedResources * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only)", - "$ref": "GoogleCloudAiplatformV1DeployedModel" - }, - "updateMask": { - "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "GoogleCloudAiplatformV1EvaluateInstancesRequest": { - "id": "GoogleCloudAiplatformV1EvaluateInstancesRequest", - "description": "Request message for EvaluationService.EvaluateInstances.", - "type": "object", - "properties": { - "exactMatchInput": { - "description": "Auto metric instances. Instances and metric spec for exact match metric.", - "$ref": "GoogleCloudAiplatformV1ExactMatchInput" - }, - "bleuInput": { - "description": "Instances and metric spec for bleu metric.", - "$ref": "GoogleCloudAiplatformV1BleuInput" - }, - "rougeInput": { - "description": "Instances and metric spec for rouge metric.", - "$ref": "GoogleCloudAiplatformV1RougeInput" - }, - "fluencyInput": { - "description": "LLM-based metric instance. General text generation metrics, applicable to other categories. Input for fluency metric.", - "$ref": "GoogleCloudAiplatformV1FluencyInput" - }, - "coherenceInput": { - "description": "Input for coherence metric.", - "$ref": "GoogleCloudAiplatformV1CoherenceInput" - }, - "safetyInput": { - "description": "Input for safety metric.", - "$ref": "GoogleCloudAiplatformV1SafetyInput" - }, - "groundednessInput": { - "description": "Input for groundedness metric.", - "$ref": "GoogleCloudAiplatformV1GroundednessInput" - }, - "fulfillmentInput": { - "description": "Input for fulfillment metric.", - "$ref": "GoogleCloudAiplatformV1FulfillmentInput" - }, - "summarizationQualityInput": { - "description": "Input for summarization quality metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationQualityInput" - }, - "pairwiseSummarizationQualityInput": { - "description": "Input for pairwise summarization quality metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput" - }, - "summarizationHelpfulnessInput": { - "description": "Input for summarization helpfulness metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput" - }, - "summarizationVerbosityInput": { - "description": "Input for summarization verbosity metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInput" - }, - "questionAnsweringQualityInput": { - "description": "Input for question answering quality metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput" - }, - "pairwiseQuestionAnsweringQualityInput": { - "description": "Input for pairwise question answering quality metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput" - }, - "questionAnsweringRelevanceInput": { - "description": "Input for question answering relevance metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput" - }, - "questionAnsweringHelpfulnessInput": { - "description": "Input for question answering helpfulness metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput" - }, - "questionAnsweringCorrectnessInput": { - "description": "Input for question answering correctness metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput" - }, - "pointwiseMetricInput": { - "description": "Input for pointwise metric.", - "$ref": "GoogleCloudAiplatformV1PointwiseMetricInput" - }, - "pairwiseMetricInput": { - "description": "Input for pairwise metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseMetricInput" - }, - "toolCallValidInput": { - "description": "Tool call metric instances. Input for tool call valid metric.", - "$ref": "GoogleCloudAiplatformV1ToolCallValidInput" - }, - "toolNameMatchInput": { - "description": "Input for tool name match metric.", - "$ref": "GoogleCloudAiplatformV1ToolNameMatchInput" - }, - "toolParameterKeyMatchInput": { - "description": "Input for tool parameter key match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput" }, - "toolParameterKvMatchInput": { - "description": "Input for tool parameter key value match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInput" - }, - "cometInput": { - "description": "Translation metrics. Input for Comet metric.", - "$ref": "GoogleCloudAiplatformV1CometInput" - }, - "metricxInput": { - "description": "Input for Metricx metric.", - "$ref": "GoogleCloudAiplatformV1MetricxInput" - }, - "trajectoryExactMatchInput": { - "description": "Input for trajectory exact match metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInput" - }, - "trajectoryInOrderMatchInput": { - "description": "Input for trajectory in order match metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput" - }, - "trajectoryAnyOrderMatchInput": { - "description": "Input for trajectory match any order metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput" - }, - "trajectoryPrecisionInput": { - "description": "Input for trajectory precision metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInput" - }, - "trajectoryRecallInput": { - "description": "Input for trajectory recall metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInput" - }, - "trajectorySingleToolUseInput": { - "description": "Input for trajectory single tool use metric.", - "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput" - }, - "rubricBasedInstructionFollowingInput": { - "description": "Rubric Based Instruction Following metric.", - "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput" - }, - "autoraterConfig": { - "description": "Optional. Autorater config used for evaluation.", - "$ref": "GoogleCloudAiplatformV1AutoraterConfig" - } - } - }, - "GoogleCloudAiplatformV1ExactMatchInput": { - "id": "GoogleCloudAiplatformV1ExactMatchInput", - "description": "Input for exact match metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for exact match metric.", - "$ref": "GoogleCloudAiplatformV1ExactMatchSpec" - }, - "instances": { - "description": "Required. Repeated exact match instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ExactMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1ExactMatchSpec": { - "id": "GoogleCloudAiplatformV1ExactMatchSpec", - "description": "Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ExactMatchInstance": { - "id": "GoogleCloudAiplatformV1ExactMatchInstance", - "description": "Spec for exact match instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BleuInput": { - "id": "GoogleCloudAiplatformV1BleuInput", - "description": "Input for bleu metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for bleu score metric.", - "$ref": "GoogleCloudAiplatformV1BleuSpec" - }, - "instances": { - "description": "Required. Repeated bleu instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BleuInstance" + "savedQueries": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.datasets.savedQueries.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^datasets/[^/]+/savedQueries/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.datasets.savedQueries.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.datasets.savedQueries.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.datasets.savedQueries.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.datasets.savedQueries.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } - } - } - }, - "GoogleCloudAiplatformV1BleuSpec": { - "id": "GoogleCloudAiplatformV1BleuSpec", - "description": "Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1.", - "type": "object", - "properties": { - "useEffectiveOrder": { - "description": "Optional. Whether to use_effective_order to compute bleu score.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1BleuInstance": { - "id": "GoogleCloudAiplatformV1BleuInstance", - "description": "Spec for bleu instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RougeInput": { - "id": "GoogleCloudAiplatformV1RougeInput", - "description": "Input for rouge metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for rouge score metric.", - "$ref": "GoogleCloudAiplatformV1RougeSpec" }, - "instances": { - "description": "Required. Repeated rouge instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RougeInstance" + "annotationSpecs": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.datasets.annotationSpecs.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^datasets/[^/]+/annotationSpecs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.datasets.annotationSpecs.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.datasets.annotationSpecs.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.datasets.annotationSpecs.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.datasets.annotationSpecs.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } } - } - } - }, - "GoogleCloudAiplatformV1RougeSpec": { - "id": "GoogleCloudAiplatformV1RougeSpec", - "description": "Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1.", - "type": "object", - "properties": { - "rougeType": { - "description": "Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.", - "type": "string" - }, - "useStemmer": { - "description": "Optional. Whether to use stemmer to compute rouge score.", - "type": "boolean" - }, - "splitSummaries": { - "description": "Optional. Whether to split summaries while using rougeLsum.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1RougeInstance": { - "id": "GoogleCloudAiplatformV1RougeInstance", - "description": "Spec for rouge instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FluencyInput": { - "id": "GoogleCloudAiplatformV1FluencyInput", - "description": "Input for fluency metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for fluency score metric.", - "$ref": "GoogleCloudAiplatformV1FluencySpec" - }, - "instance": { - "description": "Required. Fluency instance.", - "$ref": "GoogleCloudAiplatformV1FluencyInstance" - } - } - }, - "GoogleCloudAiplatformV1FluencySpec": { - "id": "GoogleCloudAiplatformV1FluencySpec", - "description": "Spec for fluency score metric.", - "type": "object", - "properties": { - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1FluencyInstance": { - "id": "GoogleCloudAiplatformV1FluencyInstance", - "description": "Spec for fluency instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CoherenceInput": { - "id": "GoogleCloudAiplatformV1CoherenceInput", - "description": "Input for coherence metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for coherence score metric.", - "$ref": "GoogleCloudAiplatformV1CoherenceSpec" }, - "instance": { - "description": "Required. Coherence instance.", - "$ref": "GoogleCloudAiplatformV1CoherenceInstance" - } - } - }, - "GoogleCloudAiplatformV1CoherenceSpec": { - "id": "GoogleCloudAiplatformV1CoherenceSpec", - "description": "Spec for coherence score metric.", - "type": "object", - "properties": { - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1CoherenceInstance": { - "id": "GoogleCloudAiplatformV1CoherenceInstance", - "description": "Spec for coherence instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SafetyInput": { - "id": "GoogleCloudAiplatformV1SafetyInput", - "description": "Input for safety metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for safety metric.", - "$ref": "GoogleCloudAiplatformV1SafetySpec" - }, - "instance": { - "description": "Required. Safety instance.", - "$ref": "GoogleCloudAiplatformV1SafetyInstance" - } - } - }, - "GoogleCloudAiplatformV1SafetySpec": { - "id": "GoogleCloudAiplatformV1SafetySpec", - "description": "Spec for safety metric.", - "type": "object", - "properties": { - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SafetyInstance": { - "id": "GoogleCloudAiplatformV1SafetyInstance", - "description": "Spec for safety instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GroundednessInput": { - "id": "GoogleCloudAiplatformV1GroundednessInput", - "description": "Input for groundedness metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for groundedness metric.", - "$ref": "GoogleCloudAiplatformV1GroundednessSpec" - }, - "instance": { - "description": "Required. Groundedness instance.", - "$ref": "GoogleCloudAiplatformV1GroundednessInstance" - } - } - }, - "GoogleCloudAiplatformV1GroundednessSpec": { - "id": "GoogleCloudAiplatformV1GroundednessSpec", - "description": "Spec for groundedness metric.", - "type": "object", - "properties": { - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1GroundednessInstance": { - "id": "GoogleCloudAiplatformV1GroundednessInstance", - "description": "Spec for groundedness instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "context": { - "description": "Required. Background information provided in context used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FulfillmentInput": { - "id": "GoogleCloudAiplatformV1FulfillmentInput", - "description": "Input for fulfillment metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for fulfillment score metric.", - "$ref": "GoogleCloudAiplatformV1FulfillmentSpec" - }, - "instance": { - "description": "Required. Fulfillment instance.", - "$ref": "GoogleCloudAiplatformV1FulfillmentInstance" - } - } - }, - "GoogleCloudAiplatformV1FulfillmentSpec": { - "id": "GoogleCloudAiplatformV1FulfillmentSpec", - "description": "Spec for fulfillment metric.", - "type": "object", - "properties": { - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1FulfillmentInstance": { - "id": "GoogleCloudAiplatformV1FulfillmentInstance", - "description": "Spec for fulfillment instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "instruction": { - "description": "Required. Inference instruction prompt to compare prediction with.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SummarizationQualityInput": { - "id": "GoogleCloudAiplatformV1SummarizationQualityInput", - "description": "Input for summarization quality metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for summarization quality score metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationQualitySpec" - }, - "instance": { - "description": "Required. Summarization quality instance.", - "$ref": "GoogleCloudAiplatformV1SummarizationQualityInstance" - } - } - }, - "GoogleCloudAiplatformV1SummarizationQualitySpec": { - "id": "GoogleCloudAiplatformV1SummarizationQualitySpec", - "description": "Spec for summarization quality score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute summarization quality.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SummarizationQualityInstance": { - "id": "GoogleCloudAiplatformV1SummarizationQualityInstance", - "description": "Spec for summarization quality instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to be summarized.", - "type": "string" - }, - "instruction": { - "description": "Required. Summarization prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput": { - "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput", - "description": "Input for pairwise summarization quality metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for pairwise summarization quality score metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec" - }, - "instance": { - "description": "Required. Pairwise summarization quality instance.", - "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance" - } - } - }, - "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec": { - "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec", - "description": "Spec for pairwise summarization quality score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute pairwise summarization quality.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" + "datasetVersions": { + "methods": { + "create": { + "id": "aiplatform.datasets.datasetVersions.create", + "path": "v1/{+parent}/datasetVersions", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1DatasetVersion" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Create a version from a Dataset." + }, + "patch": { + "id": "aiplatform.datasets.datasetVersions.patch", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", + "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1DatasetVersion" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1DatasetVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates a DatasetVersion." + }, + "delete": { + "id": "aiplatform.datasets.datasetVersions.delete", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", + "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a Dataset version." + }, + "get": { + "id": "aiplatform.datasets.datasetVersions.get", + "path": "v1/{+name}", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", + "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Mask specifying which fields to read.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1DatasetVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a Dataset version." + }, + "list": { + "id": "aiplatform.datasets.datasetVersions.list", + "path": "v1/{+parent}/datasetVersions", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "pattern": "^datasets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The standard list page token.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Optional. Mask specifying which fields to read.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListDatasetVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists DatasetVersions in a Dataset." + }, + "restore": { + "id": "aiplatform.datasets.datasetVersions.restore", + "path": "v1/{+name}:restore", + "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", + "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Restores a dataset version." + } + } } } }, - "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance": { - "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance", - "description": "Spec for pairwise summarization quality instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the candidate model.", - "type": "string" - }, - "baselinePrediction": { - "description": "Required. Output of the baseline model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to be summarized.", - "type": "string" + "projects": { + "methods": { + "updateCacheConfig": { + "id": "aiplatform.projects.updateCacheConfig", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/cacheConfig", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "pattern": "^projects/[^/]+/cacheConfig$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CacheConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates a cache config." }, - "instruction": { - "description": "Required. Summarization prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SummarizationHelpfulnessInput": { - "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput", - "description": "Input for summarization helpfulness metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for summarization helpfulness score metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec" - }, - "instance": { - "description": "Required. Summarization helpfulness instance.", - "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance" - } - } - }, - "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec": { - "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec", - "description": "Spec for summarization helpfulness score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute summarization helpfulness.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance": { - "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance", - "description": "Spec for summarization helpfulness instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to be summarized.", - "type": "string" - }, - "instruction": { - "description": "Optional. Summarization prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SummarizationVerbosityInput": { - "id": "GoogleCloudAiplatformV1SummarizationVerbosityInput", - "description": "Input for summarization verbosity metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for summarization verbosity score metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationVerbositySpec" - }, - "instance": { - "description": "Required. Summarization verbosity instance.", - "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInstance" - } - } - }, - "GoogleCloudAiplatformV1SummarizationVerbositySpec": { - "id": "GoogleCloudAiplatformV1SummarizationVerbositySpec", - "description": "Spec for summarization verbosity score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute summarization verbosity.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SummarizationVerbosityInstance": { - "id": "GoogleCloudAiplatformV1SummarizationVerbosityInstance", - "description": "Spec for summarization verbosity instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to be summarized.", - "type": "string" - }, - "instruction": { - "description": "Optional. Summarization prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringQualityInput": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput", - "description": "Input for question answering quality metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for question answering quality score metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec" - }, - "instance": { - "description": "Required. Question answering quality instance.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec", - "description": "Spec for question answering quality score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute question answering quality.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance", - "description": "Spec for question answering quality instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to answer the question.", - "type": "string" - }, - "instruction": { - "description": "Required. Question Answering prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput": { - "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput", - "description": "Input for pairwise question answering quality metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for pairwise question answering quality score metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec" - }, - "instance": { - "description": "Required. Pairwise question answering quality instance.", - "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance" - } - } - }, - "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec": { - "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec", - "description": "Spec for pairwise question answering quality score metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute question answering quality.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance": { - "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance", - "description": "Spec for pairwise question answering quality instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the candidate model.", - "type": "string" - }, - "baselinePrediction": { - "description": "Required. Output of the baseline model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Required. Text to answer the question.", - "type": "string" - }, - "instruction": { - "description": "Required. Question Answering prompt for LLM.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput", - "description": "Input for question answering relevance metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for question answering relevance score metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec" - }, - "instance": { - "description": "Required. Question answering relevance instance.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec", - "description": "Spec for question answering relevance metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute question answering relevance.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance", - "description": "Spec for question answering relevance instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Optional. Text provided as context to answer the question.", - "type": "string" - }, - "instruction": { - "description": "Required. The question asked and other instruction in the inference prompt.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput", - "description": "Input for question answering helpfulness metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for question answering helpfulness score metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec" - }, - "instance": { - "description": "Required. Question answering helpfulness instance.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec", - "description": "Spec for question answering helpfulness metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute question answering helpfulness.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance", - "description": "Spec for question answering helpfulness instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Optional. Text provided as context to answer the question.", - "type": "string" - }, - "instruction": { - "description": "Required. The question asked and other instruction in the inference prompt.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput", - "description": "Input for question answering correctness metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for question answering correctness score metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec" - }, - "instance": { - "description": "Required. Question answering correctness instance.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec", - "description": "Spec for question answering correctness metric.", - "type": "object", - "properties": { - "useReference": { - "description": "Optional. Whether to use instance.reference to compute question answering correctness.", - "type": "boolean" - }, - "version": { - "description": "Optional. Which version to use for evaluation.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance", - "description": "Spec for question answering correctness instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "context": { - "description": "Optional. Text provided as context to answer the question.", - "type": "string" - }, - "instruction": { - "description": "Required. The question asked and other instruction in the inference prompt.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PointwiseMetricInput": { - "id": "GoogleCloudAiplatformV1PointwiseMetricInput", - "description": "Input for pointwise metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for pointwise metric.", - "$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec" - }, - "instance": { - "description": "Required. Pointwise metric instance.", - "$ref": "GoogleCloudAiplatformV1PointwiseMetricInstance" - } - } - }, - "GoogleCloudAiplatformV1PointwiseMetricSpec": { - "id": "GoogleCloudAiplatformV1PointwiseMetricSpec", - "description": "Spec for pointwise metric.", - "type": "object", - "properties": { - "metricPromptTemplate": { - "description": "Required. Metric prompt template for pointwise metric.", - "type": "string" - }, - "systemInstruction": { - "description": "Optional. System instructions for pointwise metric.", - "type": "string" - }, - "customOutputFormatConfig": { - "description": "Optional. CustomOutputFormatConfig allows customization of metric output. By default, metrics return a score and explanation. When this config is set, the default output is replaced with either: - The raw output string. - A parsed output based on a user-defined schema. If a custom format is chosen, the `score` and `explanation` fields in the corresponding metric result will be empty.", - "$ref": "GoogleCloudAiplatformV1CustomOutputFormatConfig" - } - } - }, - "GoogleCloudAiplatformV1CustomOutputFormatConfig": { - "id": "GoogleCloudAiplatformV1CustomOutputFormatConfig", - "description": "Spec for custom output format configuration.", - "type": "object", - "properties": { - "returnRawOutput": { - "description": "Optional. Whether to return raw output.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1PointwiseMetricInstance": { - "id": "GoogleCloudAiplatformV1PointwiseMetricInstance", - "description": "Pointwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", - "type": "object", - "properties": { - "jsonInstance": { - "description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PointwiseMetricSpec.instance_prompt_template.", - "type": "string" - }, - "contentMapInstance": { - "description": "Key-value contents for the mutlimodality input, including text, image, video, audio, and pdf, etc. The key is placeholder in metric prompt template, and the value is the multimodal content.", - "$ref": "GoogleCloudAiplatformV1ContentMap" - } - } - }, - "GoogleCloudAiplatformV1ContentMap": { - "id": "GoogleCloudAiplatformV1ContentMap", - "description": "Map of placeholder in metric prompt template to contents of model input.", - "type": "object", - "properties": { - "values": { - "description": "Optional. Map of placeholder to contents.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ContentMapContents" - } - } - } - }, - "GoogleCloudAiplatformV1ContentMapContents": { - "id": "GoogleCloudAiplatformV1ContentMapContents", - "description": "Repeated Content type.", - "type": "object", - "properties": { - "contents": { - "description": "Optional. Repeated contents.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - } - } - }, - "GoogleCloudAiplatformV1Content": { - "id": "GoogleCloudAiplatformV1Content", - "description": "The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn.", - "type": "object", - "properties": { - "role": { - "description": "Optional. The producer of the content. Must be either 'user' or 'model'. Useful to set for multi-turn conversations, otherwise can be left blank or unset.", - "type": "string" - }, - "parts": { - "description": "Required. Ordered `Parts` that constitute a single message. Parts may have different IANA MIME types.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Part" - } - } - } - }, - "GoogleCloudAiplatformV1Part": { - "id": "GoogleCloudAiplatformV1Part", - "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", - "type": "object", - "properties": { - "text": { - "description": "Optional. Text part (can be code).", - "type": "string" - }, - "inlineData": { - "description": "Optional. Inlined bytes data.", - "$ref": "GoogleCloudAiplatformV1Blob" - }, - "fileData": { - "description": "Optional. URI based data.", - "$ref": "GoogleCloudAiplatformV1FileData" - }, - "functionCall": { - "description": "Optional. A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] with the parameters and their values.", - "$ref": "GoogleCloudAiplatformV1FunctionCall" - }, - "functionResponse": { - "description": "Optional. The result output of a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function call. It is used as context to the model.", - "$ref": "GoogleCloudAiplatformV1FunctionResponse" - }, - "executableCode": { - "description": "Optional. Code generated by the model that is meant to be executed.", - "$ref": "GoogleCloudAiplatformV1ExecutableCode" - }, - "codeExecutionResult": { - "description": "Optional. Result of executing the [ExecutableCode].", - "$ref": "GoogleCloudAiplatformV1CodeExecutionResult" - }, - "videoMetadata": { - "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.", - "$ref": "GoogleCloudAiplatformV1VideoMetadata" - }, - "thought": { - "description": "Optional. Indicates if the part is thought from the model.", - "type": "boolean" - }, - "thoughtSignature": { - "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1Blob": { - "id": "GoogleCloudAiplatformV1Blob", - "description": "Content blob.", - "type": "object", - "properties": { - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", - "type": "string" - }, - "data": { - "description": "Required. Raw bytes.", - "type": "string", - "format": "byte" - }, - "displayName": { - "description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FileData": { - "id": "GoogleCloudAiplatformV1FileData", - "description": "URI based data.", - "type": "object", - "properties": { - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", - "type": "string" - }, - "fileUri": { - "description": "Required. URI.", - "type": "string" - }, - "displayName": { - "description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FunctionCall": { - "id": "GoogleCloudAiplatformV1FunctionCall", - "description": "A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing the parameters and their values.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the function to call. Matches [FunctionDeclaration.name].", - "type": "string" - }, - "args": { - "description": "Optional. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - } - } - }, - "GoogleCloudAiplatformV1FunctionResponse": { - "id": "GoogleCloudAiplatformV1FunctionResponse", - "description": "The result output from a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall] made based on model prediction.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].", - "type": "string" - }, - "response": { - "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - } - } - }, - "GoogleCloudAiplatformV1ExecutableCode": { - "id": "GoogleCloudAiplatformV1ExecutableCode", - "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [CodeExecution] tool, in which the code will be automatically executed, and a corresponding [CodeExecutionResult] will also be generated.", - "type": "object", - "properties": { - "language": { - "description": "Required. Programming language of the `code`.", - "type": "string", - "enumDescriptions": [ - "Unspecified language. This value should not be used.", - "Python \u003e= 3.10, with numpy and simpy available." - ], - "enum": [ - "LANGUAGE_UNSPECIFIED", - "PYTHON" - ] - }, - "code": { - "description": "Required. The code to be executed.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CodeExecutionResult": { - "id": "GoogleCloudAiplatformV1CodeExecutionResult", - "description": "Result of executing the [ExecutableCode]. Only generated when using the [CodeExecution] tool, and always follows a `part` containing the [ExecutableCode].", - "type": "object", - "properties": { - "outcome": { - "description": "Required. Outcome of the code execution.", - "type": "string", - "enumDescriptions": [ - "Unspecified status. This value should not be used.", - "Code execution completed successfully.", - "Code execution finished but with a failure. `stderr` should contain the reason.", - "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." - ], - "enum": [ - "OUTCOME_UNSPECIFIED", - "OUTCOME_OK", - "OUTCOME_FAILED", - "OUTCOME_DEADLINE_EXCEEDED" - ] - }, - "output": { - "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1VideoMetadata": { - "id": "GoogleCloudAiplatformV1VideoMetadata", - "description": "Metadata describes the input video content.", - "type": "object", - "properties": { - "startOffset": { - "description": "Optional. The start offset of the video.", - "type": "string", - "format": "google-duration" - }, - "endOffset": { - "description": "Optional. The end offset of the video.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1PairwiseMetricInput": { - "id": "GoogleCloudAiplatformV1PairwiseMetricInput", - "description": "Input for pairwise metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for pairwise metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec" - }, - "instance": { - "description": "Required. Pairwise metric instance.", - "$ref": "GoogleCloudAiplatformV1PairwiseMetricInstance" - } - } - }, - "GoogleCloudAiplatformV1PairwiseMetricSpec": { - "id": "GoogleCloudAiplatformV1PairwiseMetricSpec", - "description": "Spec for pairwise metric.", - "type": "object", - "properties": { - "metricPromptTemplate": { - "description": "Required. Metric prompt template for pairwise metric.", - "type": "string" - }, - "candidateResponseFieldName": { - "description": "Optional. The field name of the candidate response.", - "type": "string" - }, - "baselineResponseFieldName": { - "description": "Optional. The field name of the baseline response.", - "type": "string" - }, - "systemInstruction": { - "description": "Optional. System instructions for pairwise metric.", - "type": "string" - }, - "customOutputFormatConfig": { - "description": "Optional. CustomOutputFormatConfig allows customization of metric output. When this config is set, the default output is replaced with the raw output string. If a custom format is chosen, the `pairwise_choice` and `explanation` fields in the corresponding metric result will be empty.", - "$ref": "GoogleCloudAiplatformV1CustomOutputFormatConfig" - } - } - }, - "GoogleCloudAiplatformV1PairwiseMetricInstance": { - "id": "GoogleCloudAiplatformV1PairwiseMetricInstance", - "description": "Pairwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", - "type": "object", - "properties": { - "jsonInstance": { - "description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PairwiseMetricSpec.instance_prompt_template.", - "type": "string" - }, - "contentMapInstance": { - "description": "Key-value contents for the mutlimodality input, including text, image, video, audio, and pdf, etc. The key is placeholder in metric prompt template, and the value is the multimodal content.", - "$ref": "GoogleCloudAiplatformV1ContentMap" - } - } - }, - "GoogleCloudAiplatformV1ToolCallValidInput": { - "id": "GoogleCloudAiplatformV1ToolCallValidInput", - "description": "Input for tool call valid metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for tool call valid metric.", - "$ref": "GoogleCloudAiplatformV1ToolCallValidSpec" - }, - "instances": { - "description": "Required. Repeated tool call valid instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolCallValidInstance" - } - } - } - }, - "GoogleCloudAiplatformV1ToolCallValidSpec": { - "id": "GoogleCloudAiplatformV1ToolCallValidSpec", - "description": "Spec for tool call valid metric.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ToolCallValidInstance": { - "id": "GoogleCloudAiplatformV1ToolCallValidInstance", - "description": "Spec for tool call valid instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ToolNameMatchInput": { - "id": "GoogleCloudAiplatformV1ToolNameMatchInput", - "description": "Input for tool name match metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for tool name match metric.", - "$ref": "GoogleCloudAiplatformV1ToolNameMatchSpec" - }, - "instances": { - "description": "Required. Repeated tool name match instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolNameMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1ToolNameMatchSpec": { - "id": "GoogleCloudAiplatformV1ToolNameMatchSpec", - "description": "Spec for tool name match metric.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ToolNameMatchInstance": { - "id": "GoogleCloudAiplatformV1ToolNameMatchInstance", - "description": "Spec for tool name match instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKeyMatchInput": { - "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput", - "description": "Input for tool parameter key match metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for tool parameter key match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec" - }, - "instances": { - "description": "Required. Repeated tool parameter key match instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec": { - "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec", - "description": "Spec for tool parameter key match metric.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance": { - "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance", - "description": "Spec for tool parameter key match instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKVMatchInput": { - "id": "GoogleCloudAiplatformV1ToolParameterKVMatchInput", - "description": "Input for tool parameter key value match metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for tool parameter key value match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec" - }, - "instances": { - "description": "Required. Repeated tool parameter key value match instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKVMatchSpec": { - "id": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", - "description": "Spec for tool parameter key value match metric.", - "type": "object", - "properties": { - "useStrictStringMatch": { - "description": "Optional. Whether to use STRICT string match on parameter values.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKVMatchInstance": { - "id": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance", - "description": "Spec for tool parameter key value match instance.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Required. Ground truth used to compare against the prediction.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CometInput": { - "id": "GoogleCloudAiplatformV1CometInput", - "description": "Input for Comet metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for comet metric.", - "$ref": "GoogleCloudAiplatformV1CometSpec" - }, - "instance": { - "description": "Required. Comet instance.", - "$ref": "GoogleCloudAiplatformV1CometInstance" - } - } - }, - "GoogleCloudAiplatformV1CometSpec": { - "id": "GoogleCloudAiplatformV1CometSpec", - "description": "Spec for Comet metric.", - "type": "object", - "properties": { - "version": { - "description": "Required. Which version to use for evaluation.", - "type": "string", - "enumDescriptions": [ - "Comet version unspecified.", - "Comet 22 for translation + source + reference (source-reference-combined)." - ], - "enum": [ - "COMET_VERSION_UNSPECIFIED", - "COMET_22_SRC_REF" - ] - }, - "sourceLanguage": { - "description": "Optional. Source language in BCP-47 format.", - "type": "string" - }, - "targetLanguage": { - "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CometInstance": { - "id": "GoogleCloudAiplatformV1CometInstance", - "description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "source": { - "description": "Optional. Source text in original language.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MetricxInput": { - "id": "GoogleCloudAiplatformV1MetricxInput", - "description": "Input for MetricX metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for Metricx metric.", - "$ref": "GoogleCloudAiplatformV1MetricxSpec" - }, - "instance": { - "description": "Required. Metricx instance.", - "$ref": "GoogleCloudAiplatformV1MetricxInstance" - } - } - }, - "GoogleCloudAiplatformV1MetricxSpec": { - "id": "GoogleCloudAiplatformV1MetricxSpec", - "description": "Spec for MetricX metric.", - "type": "object", - "properties": { - "version": { - "description": "Required. Which version to use for evaluation.", - "type": "string", - "enumDescriptions": [ - "MetricX version unspecified.", - "MetricX 2024 (2.6) for translation + reference (reference-based).", - "MetricX 2024 (2.6) for translation + source (QE).", - "MetricX 2024 (2.6) for translation + source + reference (source-reference-combined)." - ], - "enum": [ - "METRICX_VERSION_UNSPECIFIED", - "METRICX_24_REF", - "METRICX_24_SRC", - "METRICX_24_SRC_REF" - ] - }, - "sourceLanguage": { - "description": "Optional. Source language in BCP-47 format.", - "type": "string" - }, - "targetLanguage": { - "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MetricxInstance": { - "id": "GoogleCloudAiplatformV1MetricxInstance", - "description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", - "type": "object", - "properties": { - "prediction": { - "description": "Required. Output of the evaluated model.", - "type": "string" - }, - "reference": { - "description": "Optional. Ground truth used to compare against the prediction.", - "type": "string" - }, - "source": { - "description": "Optional. Source text in original language.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryExactMatchInput": { - "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", - "description": "Instances and metric spec for TrajectoryExactMatch metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectoryExactMatch metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec" - }, - "instances": { - "description": "Required. Repeated TrajectoryExactMatch instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryExactMatchSpec": { - "id": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", - "description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrajectoryExactMatchInstance": { - "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance", - "description": "Spec for TrajectoryExactMatch instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - }, - "referenceTrajectory": { - "description": "Required. Spec for reference tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1Trajectory": { - "id": "GoogleCloudAiplatformV1Trajectory", - "description": "Spec for trajectory.", - "type": "object", - "properties": { - "toolCalls": { - "description": "Required. Tool calls in the trajectory.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolCall" - } - } - } - }, - "GoogleCloudAiplatformV1ToolCall": { - "id": "GoogleCloudAiplatformV1ToolCall", - "description": "Spec for tool call.", - "type": "object", - "properties": { - "toolName": { - "description": "Required. Spec for tool name", - "type": "string" - }, - "toolInput": { - "description": "Optional. Spec for tool input", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput": { - "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", - "description": "Instances and metric spec for TrajectoryInOrderMatch metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectoryInOrderMatch metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec" - }, - "instances": { - "description": "Required. Repeated TrajectoryInOrderMatch instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec": { - "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", - "description": "Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance": { - "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance", - "description": "Spec for TrajectoryInOrderMatch instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - }, - "referenceTrajectory": { - "description": "Required. Spec for reference tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput": { - "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", - "description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectoryAnyOrderMatch metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec" - }, - "instances": { - "description": "Required. Repeated TrajectoryAnyOrderMatch instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec": { - "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", - "description": "Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance": { - "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance", - "description": "Spec for TrajectoryAnyOrderMatch instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - }, - "referenceTrajectory": { - "description": "Required. Spec for reference tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryPrecisionInput": { - "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", - "description": "Instances and metric spec for TrajectoryPrecision metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectoryPrecision metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec" - }, - "instances": { - "description": "Required. Repeated TrajectoryPrecision instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryPrecisionSpec": { - "id": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", - "description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrajectoryPrecisionInstance": { - "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance", - "description": "Spec for TrajectoryPrecision instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - }, - "referenceTrajectory": { - "description": "Required. Spec for reference tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryRecallInput": { - "id": "GoogleCloudAiplatformV1TrajectoryRecallInput", - "description": "Instances and metric spec for TrajectoryRecall metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectoryRecall metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryRecallSpec" - }, - "instances": { - "description": "Required. Repeated TrajectoryRecall instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryRecallSpec": { - "id": "GoogleCloudAiplatformV1TrajectoryRecallSpec", - "description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrajectoryRecallInstance": { - "id": "GoogleCloudAiplatformV1TrajectoryRecallInstance", - "description": "Spec for TrajectoryRecall instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - }, - "referenceTrajectory": { - "description": "Required. Spec for reference tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1TrajectorySingleToolUseInput": { - "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", - "description": "Instances and metric spec for TrajectorySingleToolUse metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for TrajectorySingleToolUse metric.", - "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec" - }, - "instances": { - "description": "Required. Repeated TrajectorySingleToolUse instance.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec": { - "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", - "description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", - "type": "object", - "properties": { - "toolName": { - "description": "Required. Spec for tool name to be checked for in the predicted trajectory.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance": { - "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance", - "description": "Spec for TrajectorySingleToolUse instance.", - "type": "object", - "properties": { - "predictedTrajectory": { - "description": "Required. Spec for predicted tool call trajectory.", - "$ref": "GoogleCloudAiplatformV1Trajectory" - } - } - }, - "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput": { - "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput", - "description": "Instance and metric spec for RubricBasedInstructionFollowing metric.", - "type": "object", - "properties": { - "metricSpec": { - "description": "Required. Spec for RubricBasedInstructionFollowing metric.", - "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec" - }, - "instance": { - "description": "Required. Instance for RubricBasedInstructionFollowing metric.", - "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance" - } - } - }, - "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec": { - "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec", - "description": "Spec for RubricBasedInstructionFollowing metric - returns rubrics and verdicts corresponding to rubrics along with overall score.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance": { - "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance", - "description": "Instance for RubricBasedInstructionFollowing metric - one instance corresponds to one row in an evaluation dataset.", - "type": "object", - "properties": { - "jsonInstance": { - "description": "Required. Instance specified as a json string. String key-value pairs are expected in the json_instance to render RubricBasedInstructionFollowing prompt templates.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AutoraterConfig": { - "id": "GoogleCloudAiplatformV1AutoraterConfig", - "description": "The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset.", - "type": "object", - "properties": { - "samplingCount": { - "description": "Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.", - "type": "integer", - "format": "int32" - }, - "flipEnabled": { - "description": "Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.", - "type": "boolean" - }, - "autoraterModel": { - "description": "Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1EvaluateInstancesResponse": { - "id": "GoogleCloudAiplatformV1EvaluateInstancesResponse", - "description": "Response message for EvaluationService.EvaluateInstances.", - "type": "object", - "properties": { - "exactMatchResults": { - "description": "Auto metric evaluation results. Results for exact match metric.", - "$ref": "GoogleCloudAiplatformV1ExactMatchResults" - }, - "bleuResults": { - "description": "Results for bleu metric.", - "$ref": "GoogleCloudAiplatformV1BleuResults" - }, - "rougeResults": { - "description": "Results for rouge metric.", - "$ref": "GoogleCloudAiplatformV1RougeResults" - }, - "fluencyResult": { - "description": "LLM-based metric evaluation result. General text generation metrics, applicable to other categories. Result for fluency metric.", - "$ref": "GoogleCloudAiplatformV1FluencyResult" - }, - "coherenceResult": { - "description": "Result for coherence metric.", - "$ref": "GoogleCloudAiplatformV1CoherenceResult" - }, - "safetyResult": { - "description": "Result for safety metric.", - "$ref": "GoogleCloudAiplatformV1SafetyResult" - }, - "groundednessResult": { - "description": "Result for groundedness metric.", - "$ref": "GoogleCloudAiplatformV1GroundednessResult" - }, - "fulfillmentResult": { - "description": "Result for fulfillment metric.", - "$ref": "GoogleCloudAiplatformV1FulfillmentResult" - }, - "summarizationQualityResult": { - "description": "Summarization only metrics. Result for summarization quality metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationQualityResult" - }, - "pairwiseSummarizationQualityResult": { - "description": "Result for pairwise summarization quality metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult" - }, - "summarizationHelpfulnessResult": { - "description": "Result for summarization helpfulness metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult" - }, - "summarizationVerbosityResult": { - "description": "Result for summarization verbosity metric.", - "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityResult" - }, - "questionAnsweringQualityResult": { - "description": "Question answering only metrics. Result for question answering quality metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult" - }, - "pairwiseQuestionAnsweringQualityResult": { - "description": "Result for pairwise question answering quality metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult" - }, - "questionAnsweringRelevanceResult": { - "description": "Result for question answering relevance metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult" - }, - "questionAnsweringHelpfulnessResult": { - "description": "Result for question answering helpfulness metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult" - }, - "questionAnsweringCorrectnessResult": { - "description": "Result for question answering correctness metric.", - "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult" - }, - "pointwiseMetricResult": { - "description": "Generic metrics. Result for pointwise metric.", - "$ref": "GoogleCloudAiplatformV1PointwiseMetricResult" - }, - "pairwiseMetricResult": { - "description": "Result for pairwise metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseMetricResult" - }, - "toolCallValidResults": { - "description": "Tool call metrics. Results for tool call valid metric.", - "$ref": "GoogleCloudAiplatformV1ToolCallValidResults" - }, - "toolNameMatchResults": { - "description": "Results for tool name match metric.", - "$ref": "GoogleCloudAiplatformV1ToolNameMatchResults" - }, - "toolParameterKeyMatchResults": { - "description": "Results for tool parameter key match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults" - }, - "toolParameterKvMatchResults": { - "description": "Results for tool parameter key value match metric.", - "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchResults" - }, - "cometResult": { - "description": "Translation metrics. Result for Comet metric.", - "$ref": "GoogleCloudAiplatformV1CometResult" - }, - "metricxResult": { - "description": "Result for Metricx metric.", - "$ref": "GoogleCloudAiplatformV1MetricxResult" - }, - "trajectoryExactMatchResults": { - "description": "Result for trajectory exact match metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchResults" - }, - "trajectoryInOrderMatchResults": { - "description": "Result for trajectory in order match metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults" - }, - "trajectoryAnyOrderMatchResults": { - "description": "Result for trajectory any order match metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults" - }, - "trajectoryPrecisionResults": { - "description": "Result for trajectory precision metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionResults" - }, - "trajectoryRecallResults": { - "description": "Results for trajectory recall metric.", - "$ref": "GoogleCloudAiplatformV1TrajectoryRecallResults" - }, - "trajectorySingleToolUseResults": { - "description": "Results for trajectory single tool use metric.", - "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults" - }, - "rubricBasedInstructionFollowingResult": { - "description": "Result for rubric based instruction following metric.", - "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult" - } - } - }, - "GoogleCloudAiplatformV1ExactMatchResults": { - "id": "GoogleCloudAiplatformV1ExactMatchResults", - "description": "Results for exact match metric.", - "type": "object", - "properties": { - "exactMatchMetricValues": { - "description": "Output only. Exact match metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ExactMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1ExactMatchMetricValue": { - "id": "GoogleCloudAiplatformV1ExactMatchMetricValue", - "description": "Exact match metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Exact match score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1BleuResults": { - "id": "GoogleCloudAiplatformV1BleuResults", - "description": "Results for bleu metric.", - "type": "object", - "properties": { - "bleuMetricValues": { - "description": "Output only. Bleu metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BleuMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1BleuMetricValue": { - "id": "GoogleCloudAiplatformV1BleuMetricValue", - "description": "Bleu metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Bleu score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1RougeResults": { - "id": "GoogleCloudAiplatformV1RougeResults", - "description": "Results for rouge metric.", - "type": "object", - "properties": { - "rougeMetricValues": { - "description": "Output only. Rouge metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RougeMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1RougeMetricValue": { - "id": "GoogleCloudAiplatformV1RougeMetricValue", - "description": "Rouge metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Rouge score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1FluencyResult": { - "id": "GoogleCloudAiplatformV1FluencyResult", - "description": "Spec for fluency result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Fluency score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for fluency score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for fluency score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1CoherenceResult": { - "id": "GoogleCloudAiplatformV1CoherenceResult", - "description": "Spec for coherence result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Coherence score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for coherence score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for coherence score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SafetyResult": { - "id": "GoogleCloudAiplatformV1SafetyResult", - "description": "Spec for safety result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Safety score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for safety score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for safety score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1GroundednessResult": { - "id": "GoogleCloudAiplatformV1GroundednessResult", - "description": "Spec for groundedness result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Groundedness score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for groundedness score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for groundedness score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1FulfillmentResult": { - "id": "GoogleCloudAiplatformV1FulfillmentResult", - "description": "Spec for fulfillment result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Fulfillment score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for fulfillment score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for fulfillment score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SummarizationQualityResult": { - "id": "GoogleCloudAiplatformV1SummarizationQualityResult", - "description": "Spec for summarization quality result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Summarization Quality score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for summarization quality score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for summarization quality score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult": { - "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult", - "description": "Spec for pairwise summarization quality result.", - "type": "object", - "properties": { - "pairwiseChoice": { - "description": "Output only. Pairwise summarization prediction choice.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified prediction choice.", - "Baseline prediction wins", - "Candidate prediction wins", - "Winner cannot be determined" - ], - "enum": [ - "PAIRWISE_CHOICE_UNSPECIFIED", - "BASELINE", - "CANDIDATE", - "TIE" - ] - }, - "explanation": { - "description": "Output only. Explanation for summarization quality score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for summarization quality score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SummarizationHelpfulnessResult": { - "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult", - "description": "Spec for summarization helpfulness result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Summarization Helpfulness score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for summarization helpfulness score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for summarization helpfulness score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SummarizationVerbosityResult": { - "id": "GoogleCloudAiplatformV1SummarizationVerbosityResult", - "description": "Spec for summarization verbosity result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Summarization Verbosity score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for summarization verbosity score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for summarization verbosity score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringQualityResult": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult", - "description": "Spec for question answering quality result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Question Answering Quality score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for question answering quality score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for question answering quality score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult": { - "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult", - "description": "Spec for pairwise question answering quality result.", - "type": "object", - "properties": { - "pairwiseChoice": { - "description": "Output only. Pairwise question answering prediction choice.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified prediction choice.", - "Baseline prediction wins", - "Candidate prediction wins", - "Winner cannot be determined" - ], - "enum": [ - "PAIRWISE_CHOICE_UNSPECIFIED", - "BASELINE", - "CANDIDATE", - "TIE" - ] - }, - "explanation": { - "description": "Output only. Explanation for question answering quality score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for question answering quality score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult", - "description": "Spec for question answering relevance result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Question Answering Relevance score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for question answering relevance score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for question answering relevance score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult", - "description": "Spec for question answering helpfulness result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Question Answering Helpfulness score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for question answering helpfulness score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for question answering helpfulness score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult": { - "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult", - "description": "Spec for question answering correctness result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Question Answering Correctness score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for question answering correctness score.", - "readOnly": true, - "type": "string" - }, - "confidence": { - "description": "Output only. Confidence for question answering correctness score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1PointwiseMetricResult": { - "id": "GoogleCloudAiplatformV1PointwiseMetricResult", - "description": "Spec for pointwise metric result.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Pointwise metric score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "explanation": { - "description": "Output only. Explanation for pointwise metric score.", - "readOnly": true, - "type": "string" - }, - "customOutput": { - "description": "Output only. Spec for custom output.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CustomOutput" - } - } - }, - "GoogleCloudAiplatformV1CustomOutput": { - "id": "GoogleCloudAiplatformV1CustomOutput", - "description": "Spec for custom output.", - "type": "object", - "properties": { - "rawOutputs": { - "description": "Output only. List of raw output strings.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1RawOutput" - } - } - }, - "GoogleCloudAiplatformV1RawOutput": { - "id": "GoogleCloudAiplatformV1RawOutput", - "description": "Raw output.", - "type": "object", - "properties": { - "rawOutput": { - "description": "Output only. Raw output string.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PairwiseMetricResult": { - "id": "GoogleCloudAiplatformV1PairwiseMetricResult", - "description": "Spec for pairwise metric result.", - "type": "object", - "properties": { - "pairwiseChoice": { - "description": "Output only. Pairwise metric choice.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified prediction choice.", - "Baseline prediction wins", - "Candidate prediction wins", - "Winner cannot be determined" - ], - "enum": [ - "PAIRWISE_CHOICE_UNSPECIFIED", - "BASELINE", - "CANDIDATE", - "TIE" - ] - }, - "explanation": { - "description": "Output only. Explanation for pairwise metric score.", - "readOnly": true, - "type": "string" - }, - "customOutput": { - "description": "Output only. Spec for custom output.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CustomOutput" - } - } - }, - "GoogleCloudAiplatformV1ToolCallValidResults": { - "id": "GoogleCloudAiplatformV1ToolCallValidResults", - "description": "Results for tool call valid metric.", - "type": "object", - "properties": { - "toolCallValidMetricValues": { - "description": "Output only. Tool call valid metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolCallValidMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1ToolCallValidMetricValue": { - "id": "GoogleCloudAiplatformV1ToolCallValidMetricValue", - "description": "Tool call valid metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Tool call valid score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1ToolNameMatchResults": { - "id": "GoogleCloudAiplatformV1ToolNameMatchResults", - "description": "Results for tool name match metric.", - "type": "object", - "properties": { - "toolNameMatchMetricValues": { - "description": "Output only. Tool name match metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolNameMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1ToolNameMatchMetricValue": { - "id": "GoogleCloudAiplatformV1ToolNameMatchMetricValue", - "description": "Tool name match metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Tool name match score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKeyMatchResults": { - "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults", - "description": "Results for tool parameter key match metric.", - "type": "object", - "properties": { - "toolParameterKeyMatchMetricValues": { - "description": "Output only. Tool parameter key match metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue": { - "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue", - "description": "Tool parameter key match metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Tool parameter key match score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKVMatchResults": { - "id": "GoogleCloudAiplatformV1ToolParameterKVMatchResults", - "description": "Results for tool parameter key value match metric.", - "type": "object", - "properties": { - "toolParameterKvMatchMetricValues": { - "description": "Output only. Tool parameter key value match metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue": { - "id": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue", - "description": "Tool parameter key value match metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Tool parameter key value match score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1CometResult": { - "id": "GoogleCloudAiplatformV1CometResult", - "description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Comet score. Range depends on version.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1MetricxResult": { - "id": "GoogleCloudAiplatformV1MetricxResult", - "description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", - "type": "object", - "properties": { - "score": { - "description": "Output only. MetricX score. Range depends on version.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryExactMatchResults": { - "id": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", - "description": "Results for TrajectoryExactMatch metric.", - "type": "object", - "properties": { - "trajectoryExactMatchMetricValues": { - "description": "Output only. TrajectoryExactMatch metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue", - "description": "TrajectoryExactMatch metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectoryExactMatch score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults": { - "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", - "description": "Results for TrajectoryInOrderMatch metric.", - "type": "object", - "properties": { - "trajectoryInOrderMatchMetricValues": { - "description": "Output only. TrajectoryInOrderMatch metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue", - "description": "TrajectoryInOrderMatch metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectoryInOrderMatch score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults": { - "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", - "description": "Results for TrajectoryAnyOrderMatch metric.", - "type": "object", - "properties": { - "trajectoryAnyOrderMatchMetricValues": { - "description": "Output only. TrajectoryAnyOrderMatch metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue", - "description": "TrajectoryAnyOrderMatch metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectoryAnyOrderMatch score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryPrecisionResults": { - "id": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", - "description": "Results for TrajectoryPrecision metric.", - "type": "object", - "properties": { - "trajectoryPrecisionMetricValues": { - "description": "Output only. TrajectoryPrecision metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue", - "description": "TrajectoryPrecision metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectoryPrecision score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectoryRecallResults": { - "id": "GoogleCloudAiplatformV1TrajectoryRecallResults", - "description": "Results for TrajectoryRecall metric.", - "type": "object", - "properties": { - "trajectoryRecallMetricValues": { - "description": "Output only. TrajectoryRecall metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectoryRecallMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue", - "description": "TrajectoryRecall metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectoryRecall score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1TrajectorySingleToolUseResults": { - "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", - "description": "Results for TrajectorySingleToolUse metric.", - "type": "object", - "properties": { - "trajectorySingleToolUseMetricValues": { - "description": "Output only. TrajectorySingleToolUse metric values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue" - } - } - } - }, - "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue": { - "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue", - "description": "TrajectorySingleToolUse metric value for an instance.", - "type": "object", - "properties": { - "score": { - "description": "Output only. TrajectorySingleToolUse score.", - "readOnly": true, - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult": { - "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult", - "description": "Result for RubricBasedInstructionFollowing metric.", - "type": "object", - "properties": { - "score": { - "description": "Output only. Overall score for the instruction following.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "rubricCritiqueResults": { - "description": "Output only. List of per rubric critique results.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RubricCritiqueResult" - } - } - } - }, - "GoogleCloudAiplatformV1RubricCritiqueResult": { - "id": "GoogleCloudAiplatformV1RubricCritiqueResult", - "description": "Rubric critique result.", - "type": "object", - "properties": { - "rubric": { - "description": "Output only. Rubric to be evaluated.", - "readOnly": true, - "type": "string" - }, - "verdict": { - "description": "Output only. Verdict for the rubric - true if the rubric is met, false otherwise.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1EvaluateDatasetRequest": { - "id": "GoogleCloudAiplatformV1EvaluateDatasetRequest", - "description": "Request message for EvaluationService.EvaluateDataset.", - "type": "object", - "properties": { - "dataset": { - "description": "Required. The dataset used for evaluation.", - "$ref": "GoogleCloudAiplatformV1EvaluationDataset" - }, - "metrics": { - "description": "Required. The metrics used for evaluation.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Metric" - } - }, - "outputConfig": { - "description": "Required. Config for evaluation output.", - "$ref": "GoogleCloudAiplatformV1OutputConfig" - }, - "autoraterConfig": { - "description": "Optional. Autorater config used for evaluation. Currently only publisher Gemini models are supported. Format: `projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}.`", - "$ref": "GoogleCloudAiplatformV1AutoraterConfig" - } - } - }, - "GoogleCloudAiplatformV1EvaluationDataset": { - "id": "GoogleCloudAiplatformV1EvaluationDataset", - "description": "The dataset used for evaluation.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Cloud storage source holds the dataset. Currently only one Cloud Storage file path is supported.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "bigquerySource": { - "description": "BigQuery source holds the dataset.", - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - } - } - }, - "GoogleCloudAiplatformV1BigQuerySource": { - "id": "GoogleCloudAiplatformV1BigQuerySource", - "description": "The BigQuery location for the input content.", - "type": "object", - "properties": { - "inputUri": { - "description": "Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Metric": { - "id": "GoogleCloudAiplatformV1Metric", - "description": "The metric used for running evaluations.", - "type": "object", - "properties": { - "pointwiseMetricSpec": { - "description": "Spec for pointwise metric.", - "$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec" - }, - "pairwiseMetricSpec": { - "description": "Spec for pairwise metric.", - "$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec" - }, - "exactMatchSpec": { - "description": "Spec for exact match metric.", - "$ref": "GoogleCloudAiplatformV1ExactMatchSpec" - }, - "bleuSpec": { - "description": "Spec for bleu metric.", - "$ref": "GoogleCloudAiplatformV1BleuSpec" - }, - "rougeSpec": { - "description": "Spec for rouge metric.", - "$ref": "GoogleCloudAiplatformV1RougeSpec" - }, - "aggregationMetrics": { - "description": "Optional. The aggregation metrics to use.", - "type": "array", - "items": { - "type": "string", - "enumDescriptions": [ - "Unspecified aggregation metric.", - "Average aggregation metric. Not supported for Pairwise metric.", - "Mode aggregation metric.", - "Standard deviation aggregation metric. Not supported for pairwise metric.", - "Variance aggregation metric. Not supported for pairwise metric.", - "Minimum aggregation metric. Not supported for pairwise metric.", - "Maximum aggregation metric. Not supported for pairwise metric.", - "Median aggregation metric. Not supported for pairwise metric.", - "90th percentile aggregation metric. Not supported for pairwise metric.", - "95th percentile aggregation metric. Not supported for pairwise metric.", - "99th percentile aggregation metric. Not supported for pairwise metric." - ], - "enum": [ - "AGGREGATION_METRIC_UNSPECIFIED", - "AVERAGE", - "MODE", - "STANDARD_DEVIATION", - "VARIANCE", - "MINIMUM", - "MAXIMUM", - "MEDIAN", - "PERCENTILE_P90", - "PERCENTILE_P95", - "PERCENTILE_P99" - ] - } - } - } - }, - "GoogleCloudAiplatformV1OutputConfig": { - "id": "GoogleCloudAiplatformV1OutputConfig", - "description": "Config for evaluation output.", - "type": "object", - "properties": { - "gcsDestination": { - "description": "Cloud storage destination for evaluation output.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesRequest", - "description": "Request message for FeaturestoreOnlineServingService.ReadFeatureValues.", - "type": "object", - "properties": { - "entityId": { - "description": "Required. ID for a specific entity. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", - "type": "string" - }, - "featureSelector": { - "description": "Required. Selector choosing Features of the target EntityType.", - "$ref": "GoogleCloudAiplatformV1FeatureSelector" - } - } - }, - "GoogleCloudAiplatformV1FeatureSelector": { - "id": "GoogleCloudAiplatformV1FeatureSelector", - "description": "Selector for Features of an EntityType.", - "type": "object", - "properties": { - "idMatcher": { - "description": "Required. Matches Features based on ID.", - "$ref": "GoogleCloudAiplatformV1IdMatcher" - } - } - }, - "GoogleCloudAiplatformV1IdMatcher": { - "id": "GoogleCloudAiplatformV1IdMatcher", - "description": "Matcher for Features of an EntityType by Feature ID.", - "type": "object", - "properties": { - "ids": { - "description": "Required. The following are accepted as `ids`: * A single-element list containing only `*`, which selects all Features in the target EntityType, or * A list containing only Feature IDs, which selects only Features with those IDs in the target EntityType.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponse", - "description": "Response message for FeaturestoreOnlineServingService.ReadFeatureValues.", - "type": "object", - "properties": { - "header": { - "description": "Response header.", - "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader" - }, - "entityView": { - "description": "Entity view with Feature values. This may be the entity in the Featurestore if values for all Features were requested, or a projection of the entity in the Featurestore if values for only some Features were requested.", - "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView" - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader", - "description": "Response header with metadata for the requested ReadFeatureValuesRequest.entity_type and Features.", - "type": "object", - "properties": { - "entityType": { - "description": "The resource name of the EntityType from the ReadFeatureValuesRequest. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`.", - "type": "string" - }, - "featureDescriptors": { - "description": "List of Feature metadata corresponding to each piece of ReadFeatureValuesResponse.EntityView.data.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor" - } - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor", - "description": "Metadata for requested Features.", - "type": "object", - "properties": { - "id": { - "description": "Feature ID.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView", - "description": "Entity view with Feature values.", - "type": "object", - "properties": { - "entityId": { - "description": "ID of the requested entity.", - "type": "string" - }, - "data": { - "description": "Each piece of data holds the k requested values for one requested Feature. If no values for the requested Feature exist, the corresponding cell will be empty. This has the same size and is in the same order as the features from the header ReadFeatureValuesResponse.header.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData" - } - } - } - }, - "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData": { - "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData", - "description": "Container to hold value(s), successive in time, for one Feature from the request.", - "type": "object", - "properties": { - "value": { - "description": "Feature value if a single value is requested.", - "$ref": "GoogleCloudAiplatformV1FeatureValue" - }, - "values": { - "description": "Feature values list if values, successive in time, are requested. If the requested number of values is greater than the number of existing Feature values, nonexistent values are omitted instead of being returned as empty.", - "$ref": "GoogleCloudAiplatformV1FeatureValueList" - } - } - }, - "GoogleCloudAiplatformV1FeatureValue": { - "id": "GoogleCloudAiplatformV1FeatureValue", - "description": "Value for a feature.", - "type": "object", - "properties": { - "boolValue": { - "description": "Bool type feature value.", - "type": "boolean" - }, - "doubleValue": { - "description": "Double type feature value.", - "type": "number", - "format": "double" - }, - "int64Value": { - "description": "Int64 feature value.", - "type": "string", - "format": "int64" - }, - "stringValue": { - "description": "String feature value.", - "type": "string" - }, - "boolArrayValue": { - "description": "A list of bool type feature value.", - "$ref": "GoogleCloudAiplatformV1BoolArray" - }, - "doubleArrayValue": { - "description": "A list of double type feature value.", - "$ref": "GoogleCloudAiplatformV1DoubleArray" - }, - "int64ArrayValue": { - "description": "A list of int64 type feature value.", - "$ref": "GoogleCloudAiplatformV1Int64Array" - }, - "stringArrayValue": { - "description": "A list of string type feature value.", - "$ref": "GoogleCloudAiplatformV1StringArray" - }, - "bytesValue": { - "description": "Bytes feature value.", - "type": "string", - "format": "byte" - }, - "structValue": { - "description": "A struct type feature value.", - "$ref": "GoogleCloudAiplatformV1StructValue" - }, - "metadata": { - "description": "Metadata of feature value.", - "$ref": "GoogleCloudAiplatformV1FeatureValueMetadata" - } - } - }, - "GoogleCloudAiplatformV1BoolArray": { - "id": "GoogleCloudAiplatformV1BoolArray", - "description": "A list of boolean values.", - "type": "object", - "properties": { - "values": { - "description": "A list of bool values.", - "type": "array", - "items": { - "type": "boolean" - } - } - } - }, - "GoogleCloudAiplatformV1DoubleArray": { - "id": "GoogleCloudAiplatformV1DoubleArray", - "description": "A list of double values.", - "type": "object", - "properties": { - "values": { - "description": "A list of double values.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - } - } - }, - "GoogleCloudAiplatformV1Int64Array": { - "id": "GoogleCloudAiplatformV1Int64Array", - "description": "A list of int64 values.", - "type": "object", - "properties": { - "values": { - "description": "A list of int64 values.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - } - } - }, - "GoogleCloudAiplatformV1StringArray": { - "id": "GoogleCloudAiplatformV1StringArray", - "description": "A list of string values.", - "type": "object", - "properties": { - "values": { - "description": "A list of string values.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1StructValue": { - "id": "GoogleCloudAiplatformV1StructValue", - "description": "Struct (or object) type feature value.", - "type": "object", - "properties": { - "values": { - "description": "A list of field values.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1StructFieldValue" - } - } - } - }, - "GoogleCloudAiplatformV1StructFieldValue": { - "id": "GoogleCloudAiplatformV1StructFieldValue", - "description": "One field of a Struct (or object) type feature value.", - "type": "object", - "properties": { - "name": { - "description": "Name of the field in the struct feature.", - "type": "string" - }, - "value": { - "description": "The value for this field.", - "$ref": "GoogleCloudAiplatformV1FeatureValue" - } - } - }, - "GoogleCloudAiplatformV1FeatureValueMetadata": { - "id": "GoogleCloudAiplatformV1FeatureValueMetadata", - "description": "Metadata of feature value.", - "type": "object", - "properties": { - "generateTime": { - "description": "Feature generation timestamp. Typically, it is provided by user at feature ingestion time. If not, feature store will use the system timestamp when the data is ingested into feature store. Legacy Feature Store: For streaming ingestion, the time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1FeatureValueList": { - "id": "GoogleCloudAiplatformV1FeatureValueList", - "description": "Container for list of values.", - "type": "object", - "properties": { - "values": { - "description": "A list of feature values. All of them should be the same data type.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureValue" - } - } - } - }, - "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest", - "description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", - "type": "object", - "properties": { - "entityIds": { - "description": "Required. IDs of entities to read Feature values of. The maximum number of IDs is 100. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", - "type": "array", - "items": { - "type": "string" - } - }, - "featureSelector": { - "description": "Required. Selector choosing Features of the target EntityType. Feature IDs will be deduplicated.", - "$ref": "GoogleCloudAiplatformV1FeatureSelector" - } - } - }, - "GoogleCloudAiplatformV1WriteFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1WriteFeatureValuesRequest", - "description": "Request message for FeaturestoreOnlineServingService.WriteFeatureValues.", - "type": "object", - "properties": { - "payloads": { - "description": "Required. The entities to be written. Up to 100,000 feature values can be written across all `payloads`.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1WriteFeatureValuesPayload" - } - } - } - }, - "GoogleCloudAiplatformV1WriteFeatureValuesPayload": { - "id": "GoogleCloudAiplatformV1WriteFeatureValuesPayload", - "description": "Contains Feature values to be written for a specific entity.", - "type": "object", - "properties": { - "entityId": { - "description": "Required. The ID of the entity.", - "type": "string" - }, - "featureValues": { - "description": "Required. Feature values to be written, mapping from Feature ID to value. Up to 100,000 `feature_values` entries may be written across all payloads. The feature generation time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1FeatureValue" - } - } - } - }, - "GoogleCloudAiplatformV1WriteFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1WriteFeatureValuesResponse", - "description": "Response message for FeaturestoreOnlineServingService.WriteFeatureValues.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1Featurestore": { - "id": "GoogleCloudAiplatformV1Featurestore", - "description": "Vertex AI Feature Store provides a centralized repository for organizing, storing, and serving ML features. The Featurestore is a top-level container for your features and their values.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this Featurestore was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Featurestore was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "onlineServingConfig": { - "description": "Optional. Config for online storage resources. The field should not co-exist with the field of `OnlineStoreReplicationConfig`. If both of it and OnlineStoreReplicationConfig are unset, the feature store will not have an online store and cannot be used for online serving.", - "$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig" - }, - "state": { - "description": "Output only. State of the featurestore.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "State when the featurestore configuration is not being updated and the fields reflect the current configuration of the featurestore. The featurestore is usable in this state.", - "The state of the featurestore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featurestore. For example, `online_serving_config.fixed_node_count` can take minutes to update. While the update is in progress, the featurestore is in the UPDATING state, and the value of `fixed_node_count` can be the original value or the updated value, depending on the progress of the operation. Until the update completes, the actual number of nodes can still be the original value of `fixed_node_count`. The featurestore is still usable in this state." - ], - "enum": [ - "STATE_UNSPECIFIED", - "STABLE", - "UPDATING" - ] - }, - "onlineStorageTtlDays": { - "description": "Optional. TTL in days for feature values that will be stored in online serving storage. The Feature Store online storage periodically removes obsolete feature values older than `online_storage_ttl_days` since the feature generation time. Note that `online_storage_ttl_days` should be less than or equal to `offline_storage_ttl_days` for each EntityType under a featurestore. If not set, default to 4000 days", - "type": "integer", - "format": "int32" - }, - "encryptionSpec": { - "description": "Optional. Customer-managed encryption key spec for data storage. If set, both of the online and offline data storage will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig": { - "id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig", - "description": "OnlineServingConfig specifies the details for provisioning online serving resources.", - "type": "object", - "properties": { - "fixedNodeCount": { - "description": "The number of nodes for the online store. The number of nodes doesn't scale automatically, but you can manually update the number of nodes. If set to 0, the featurestore will not have an online store and cannot be used for online serving.", - "type": "integer", - "format": "int32" - }, - "scaling": { - "description": "Online serving scaling configuration. Only one of `fixed_node_count` and `scaling` can be set. Setting one will reset the other.", - "$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling" - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling": { - "id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling", - "description": "Online serving scaling configuration. If min_node_count and max_node_count are set to the same value, the cluster will be configured with the fixed number of node (no auto-scaling).", - "type": "object", - "properties": { - "minNodeCount": { - "description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", - "type": "integer", - "format": "int32" - }, - "maxNodeCount": { - "description": "The maximum number of nodes to scale up to. Must be greater than min_node_count, and less than or equal to 10 times of 'min_node_count'.", - "type": "integer", - "format": "int32" - }, - "cpuUtilizationTarget": { - "description": "Optional. The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set or set to 0, default to 50.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ListFeaturestoresResponse": { - "id": "GoogleCloudAiplatformV1ListFeaturestoresResponse", - "description": "Response message for FeaturestoreService.ListFeaturestores.", - "type": "object", - "properties": { - "featurestores": { - "description": "The Featurestores matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Featurestore" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeaturestoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1EntityType": { - "id": "GoogleCloudAiplatformV1EntityType", - "description": "An entity type is a type of object in a system that needs to be modeled and have stored information about. For example, driver is an entity type, and driver0 is an instance of an entity type driver.", - "type": "object", - "properties": { - "name": { - "description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", - "type": "string" - }, - "description": { - "description": "Optional. Description of the EntityType.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this EntityType was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this EntityType was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "etag": { - "description": "Optional. Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "monitoringConfig": { - "description": "Optional. The default monitoring configuration for all Features with value type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 under this EntityType. If this is populated with [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is disabled.", - "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig" - }, - "offlineStorageTtlDays": { - "description": "Optional. Config for data retention policy in offline storage. TTL in days for feature values that will be stored in offline storage. The Feature Store offline storage periodically removes obsolete feature values older than `offline_storage_ttl_days` since the feature generation time. If unset (or explicitly set to 0), default to 4000 days TTL.", - "type": "integer", - "format": "int32" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig": { - "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig", - "description": "Configuration of how features in Featurestore are monitored.", - "type": "object", - "properties": { - "snapshotAnalysis": { - "description": "The config for Snapshot Analysis Based Feature Monitoring.", - "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis" - }, - "importFeaturesAnalysis": { - "description": "The config for ImportFeatures Analysis Based Feature Monitoring.", - "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis" - }, - "numericalThresholdConfig": { - "description": "Threshold for numerical features of anomaly detection. This is shared by all objectives of Featurestore Monitoring for numerical features (i.e. Features with type (Feature.ValueType) DOUBLE or INT64).", - "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig" - }, - "categoricalThresholdConfig": { - "description": "Threshold for categorical features of anomaly detection. This is shared by all types of Featurestore Monitoring for categorical features (i.e. Features with type (Feature.ValueType) BOOL or STRING).", - "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig" - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis": { - "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis", - "description": "Configuration of the Featurestore's Snapshot Analysis Based Monitoring. This type of analysis generates statistics for each Feature based on a snapshot of the latest feature value of each entities every monitoring_interval.", - "type": "object", - "properties": { - "disabled": { - "description": "The monitoring schedule for snapshot analysis. For EntityType-level config: unset / disabled = true indicates disabled by default for Features under it; otherwise by default enable snapshot analysis monitoring with monitoring_interval for Features under it. Feature-level config: disabled = true indicates disabled regardless of the EntityType-level config; unset monitoring_interval indicates going with EntityType-level config; otherwise run snapshot analysis monitoring with monitoring_interval regardless of the EntityType-level config. Explicitly Disable the snapshot analysis based monitoring.", - "type": "boolean" - }, - "monitoringIntervalDays": { - "description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value indicates number of days.", - "type": "integer", - "format": "int32" - }, - "stalenessDays": { - "description": "Customized export features time window for snapshot analysis. Unit is one day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is 4000 days.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis": { - "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis", - "description": "Configuration of the Featurestore's ImportFeature Analysis Based Monitoring. This type of analysis generates statistics for values of each Feature imported by every ImportFeatureValues operation.", - "type": "object", - "properties": { - "state": { - "description": "Whether to enable / disable / inherite default hebavior for import features analysis.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "The default behavior of whether to enable the monitoring. EntityType-level config: disabled. Feature-level config: inherited from the configuration of EntityType this Feature belongs to.", - "Explicitly enables import features analysis. EntityType-level config: by default enables import features analysis for all Features under it. Feature-level config: enables import features analysis regardless of the EntityType-level config.", - "Explicitly disables import features analysis. EntityType-level config: by default disables import features analysis for all Features under it. Feature-level config: disables import features analysis regardless of the EntityType-level config." - ], - "enum": [ - "STATE_UNSPECIFIED", - "DEFAULT", - "ENABLED", - "DISABLED" - ] - }, - "anomalyDetectionBaseline": { - "description": "The baseline used to do anomaly detection for the statistics generated by import features analysis.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "Choose the later one statistics generated by either most recent snapshot analysis or previous import features analysis. If non of them exists, skip anomaly detection and only generate a statistics.", - "Use the statistics generated by the most recent snapshot analysis if exists.", - "Use the statistics generated by the previous import features analysis if exists." - ], - "enum": [ - "BASELINE_UNSPECIFIED", - "LATEST_STATS", - "MOST_RECENT_SNAPSHOT_STATS", - "PREVIOUS_IMPORT_FEATURES_STATS" - ] - } - } - }, - "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig": { - "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig", - "description": "The config for Featurestore Monitoring threshold.", - "type": "object", - "properties": { - "value": { - "description": "Specify a threshold value that can trigger the alert. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ListEntityTypesResponse": { - "id": "GoogleCloudAiplatformV1ListEntityTypesResponse", - "description": "Response message for FeaturestoreService.ListEntityTypes.", - "type": "object", - "properties": { - "entityTypes": { - "description": "The EntityTypes matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EntityType" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListEntityTypesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Feature": { - "id": "GoogleCloudAiplatformV1Feature", - "description": "Feature Metadata information. For example, color is a feature that describes an apple.", - "type": "object", - "properties": { - "name": { - "description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", - "type": "string" - }, - "description": { - "description": "Description of the Feature.", - "type": "string" - }, - "valueType": { - "description": "Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type of Feature value.", - "type": "string", - "enumDescriptions": [ - "The value type is unspecified.", - "Used for Feature that is a boolean.", - "Used for Feature that is a list of boolean.", - "Used for Feature that is double.", - "Used for Feature that is a list of double.", - "Used for Feature that is INT64.", - "Used for Feature that is a list of INT64.", - "Used for Feature that is string.", - "Used for Feature that is a list of String.", - "Used for Feature that is bytes.", - "Used for Feature that is struct." - ], - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "BOOL", - "BOOL_ARRAY", - "DOUBLE", - "DOUBLE_ARRAY", - "INT64", - "INT64_ARRAY", - "STRING", - "STRING_ARRAY", - "BYTES", - "STRUCT" - ] - }, - "createTime": { - "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "etag": { - "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "disableMonitoring": { - "description": "Optional. Only applicable for Vertex AI Feature Store (Legacy). If not set, use the monitoring_config defined for the EntityType this Feature belongs to. Only Features with type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring. If set to true, all types of data monitoring are disabled despite the config on EntityType.", - "type": "boolean" - }, - "monitoringStatsAnomalies": { - "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). The list of historical stats and anomalies with specified objectives.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly" - } - }, - "versionColumnName": { - "description": "Only applicable for Vertex AI Feature Store. The name of the BigQuery Table/View column hosting data for this version. If no value is provided, will use feature_id.", - "type": "string" - }, - "pointOfContact": { - "description": "Entity responsible for maintaining this feature. Can be comma separated list of email addresses or URIs.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly": { - "id": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly", - "description": "A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", - "type": "object", - "properties": { - "objective": { - "description": "Output only. The objective for each stats.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty.", - "Stats are generated by Import Feature Analysis.", - "Stats are generated by Snapshot Analysis." - ], - "enum": [ - "OBJECTIVE_UNSPECIFIED", - "IMPORT_FEATURE_ANALYSIS", - "SNAPSHOT_ANALYSIS" - ] - }, - "featureStatsAnomaly": { - "description": "Output only. The stats and anomalies generated at specific timestamp.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" - } - } - }, - "GoogleCloudAiplatformV1FeatureStatsAnomaly": { - "id": "GoogleCloudAiplatformV1FeatureStatsAnomaly", - "description": "Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.", - "type": "object", - "properties": { - "score": { - "description": "Feature importance score, only populated when cross-feature monitoring is enabled. For now only used to represent feature attribution score within range [0, 1] for ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.", - "type": "number", - "format": "double" - }, - "statsUri": { - "description": "Path of the stats file for current feature values in Cloud Storage bucket. Format: gs:////stats. Example: gs://monitoring_bucket/feature_name/stats. Stats are stored as binary format with Protobuf message [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto).", - "type": "string" - }, - "anomalyUri": { - "description": "Path of the anomaly file for current feature values in Cloud Storage bucket. Format: gs:////anomalies. Example: gs://monitoring_bucket/feature_name/anomalies. Stats are stored as binary format with Protobuf message Anoamlies are stored as binary format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto).", - "type": "string" - }, - "distributionDeviation": { - "description": "Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence.", - "type": "number", - "format": "double" - }, - "anomalyDetectionThreshold": { - "description": "This is the threshold used when detecting anomalies. The threshold can be changed by user, so this one might be different from ThresholdConfig.value.", - "type": "number", - "format": "double" - }, - "startTime": { - "description": "The start timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), start_time is only used to indicate the monitoring intervals, so it always equals to (end_time - monitoring_interval).", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "The end timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), end_time indicates the timestamp of the data used to generate stats (e.g. timestamp we take snapshots for feature values).", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateFeaturesRequest": { - "id": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest", - "description": "Request message for FeaturestoreService.BatchCreateFeatures. Request message for FeatureRegistryService.BatchCreateFeatures.", - "type": "object", - "properties": { - "requests": { - "description": "Required. The request message specifying the Features to create. All Features must be created under the same parent EntityType / FeatureGroup. The `parent` field in each child request message can be omitted. If `parent` is set in a child request, then the value must match the `parent` value in this request message.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1CreateFeatureRequest" - } - } - } - }, - "GoogleCloudAiplatformV1CreateFeatureRequest": { - "id": "GoogleCloudAiplatformV1CreateFeatureRequest", - "description": "Request message for FeaturestoreService.CreateFeature. Request message for FeatureRegistryService.CreateFeature.", - "type": "object", - "properties": { - "parent": { - "description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", - "type": "string" - }, - "feature": { - "description": "Required. The Feature to create.", - "$ref": "GoogleCloudAiplatformV1Feature" - }, - "featureId": { - "description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListFeaturesResponse": { - "id": "GoogleCloudAiplatformV1ListFeaturesResponse", - "description": "Response message for FeaturestoreService.ListFeatures. Response message for FeatureRegistryService.ListFeatures.", - "type": "object", - "properties": { - "features": { - "description": "The Features matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Feature" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ImportFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1ImportFeatureValuesRequest", - "description": "Request message for FeaturestoreService.ImportFeatureValues.", - "type": "object", - "properties": { - "avroSource": { - "$ref": "GoogleCloudAiplatformV1AvroSource" - }, - "bigquerySource": { - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - }, - "csvSource": { - "$ref": "GoogleCloudAiplatformV1CsvSource" - }, - "featureTimeField": { - "description": "Source column that holds the Feature timestamp for all Feature values in each entity.", - "type": "string" - }, - "featureTime": { - "description": "Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - }, - "entityIdField": { - "description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", - "type": "string" - }, - "featureSpecs": { - "description": "Required. Specifications defining which Feature values to import from the entity. The request fails if no feature_specs are provided, and having multiple feature_specs for one Feature is not allowed.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec" - } - }, - "disableOnlineServing": { - "description": "If set, data will not be imported for online serving. This is typically used for backfilling, where Feature generation timestamps are not in the timestamp range needed for online serving.", - "type": "boolean" - }, - "workerCount": { - "description": "Specifies the number of workers that are used to write data to the Featurestore. Consider the online serving capacity that you require to achieve the desired import throughput without interfering with online serving. The value must be positive, and less than or equal to 100. If not set, defaults to using 1 worker. The low count ensures minimal impact on online serving performance.", - "type": "integer", - "format": "int32" - }, - "disableIngestionAnalysis": { - "description": "If true, API doesn't start ingestion analysis pipeline.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1AvroSource": { - "id": "GoogleCloudAiplatformV1AvroSource", - "description": "The storage details for Avro input content.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Required. Google Cloud Storage location.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - } - } - }, - "GoogleCloudAiplatformV1CsvSource": { - "id": "GoogleCloudAiplatformV1CsvSource", - "description": "The storage details for CSV input content.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Required. Google Cloud Storage location.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - } - } - }, - "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec": { - "id": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec", - "description": "Defines the Feature value(s) to import.", - "type": "object", - "properties": { - "id": { - "description": "Required. ID of the Feature to import values of. This Feature must exist in the target EntityType, or the request will fail.", - "type": "string" - }, - "sourceField": { - "description": "Source column to get the Feature values from. If not set, uses the column with the same name as the Feature ID.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest", - "description": "Request message for FeaturestoreService.BatchReadFeatureValues.", - "type": "object", - "properties": { - "csvReadInstances": { - "description": "Each read instance consists of exactly one read timestamp and one or more entity IDs identifying entities of the corresponding EntityTypes whose Features are requested. Each output instance contains Feature values of requested entities concatenated together as of the read time. An example read instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z`. An example output instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z, foo_entity_feature1_value, bar_entity_feature2_value`. Timestamp in each read instance must be millisecond-aligned. `csv_read_instances` are read instances stored in a plain-text CSV file. The header should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp The columns can be in any order. Values in the timestamp column must use the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`.", - "$ref": "GoogleCloudAiplatformV1CsvSource" - }, - "bigqueryReadInstances": { - "description": "Similar to csv_read_instances, but from BigQuery source.", - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - }, - "destination": { - "description": "Required. Specifies output location and format.", - "$ref": "GoogleCloudAiplatformV1FeatureValueDestination" - }, - "passThroughFields": { - "description": "When not empty, the specified fields in the *_read_instances source will be joined as-is in the output, in addition to those fields from the Featurestore Entity. For BigQuery source, the type of the pass-through values will be automatically inferred. For CSV source, the pass-through values will be passed as opaque bytes.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField" - } - }, - "entityTypeSpecs": { - "description": "Required. Specifies EntityType grouping Features to read values of and settings.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec" - } - }, - "startTime": { - "description": "Optional. Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1FeatureValueDestination": { - "id": "GoogleCloudAiplatformV1FeatureValueDestination", - "description": "A destination location for Feature values and format.", - "type": "object", - "properties": { - "bigqueryDestination": { - "description": "Output in BigQuery format. BigQueryDestination.output_uri in FeatureValueDestination.bigquery_destination must refer to a table.", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "tfrecordDestination": { - "description": "Output in TFRecord format. Below are the mapping from Feature value type in Featurestore to Feature value type in TFRecord: Value type in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY | FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, BYTES | BYTES_LIST true -\u003e byte_string(\"true\"), false -\u003e byte_string(\"false\") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST", - "$ref": "GoogleCloudAiplatformV1TFRecordDestination" - }, - "csvDestination": { - "description": "Output in CSV format. Array Feature value types are not allowed in CSV format.", - "$ref": "GoogleCloudAiplatformV1CsvDestination" - } - } - }, - "GoogleCloudAiplatformV1TFRecordDestination": { - "id": "GoogleCloudAiplatformV1TFRecordDestination", - "description": "The storage details for TFRecord output content.", - "type": "object", - "properties": { - "gcsDestination": { - "description": "Required. Google Cloud Storage location.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - } - } - }, - "GoogleCloudAiplatformV1CsvDestination": { - "id": "GoogleCloudAiplatformV1CsvDestination", - "description": "The storage details for CSV output content.", - "type": "object", - "properties": { - "gcsDestination": { - "description": "Required. Google Cloud Storage location.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - } - } - }, - "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField": { - "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField", - "description": "Describe pass-through fields in read_instance source.", - "type": "object", - "properties": { - "fieldName": { - "description": "Required. The name of the field in the CSV header or the name of the column in BigQuery table. The naming restriction is the same as Feature.name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec": { - "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec", - "description": "Selects Features of an EntityType to read values of and specifies read settings.", - "type": "object", - "properties": { - "entityTypeId": { - "description": "Required. ID of the EntityType to select Features. The EntityType id is the entity_type_id specified during EntityType creation.", - "type": "string" - }, - "featureSelector": { - "description": "Required. Selectors choosing which Feature values to read from the EntityType.", - "$ref": "GoogleCloudAiplatformV1FeatureSelector" - }, - "settings": { - "description": "Per-Feature settings for the batch read.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" - } - } - } - }, - "GoogleCloudAiplatformV1DestinationFeatureSetting": { - "id": "GoogleCloudAiplatformV1DestinationFeatureSetting", - "type": "object", - "properties": { - "featureId": { - "description": "Required. The ID of the Feature to apply the setting to.", - "type": "string" - }, - "destinationField": { - "description": "Specify the field name in the export destination. If not specified, Feature ID is used.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExportFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequest", - "description": "Request message for FeaturestoreService.ExportFeatureValues.", - "type": "object", - "properties": { - "snapshotExport": { - "description": "Exports the latest Feature values of all entities of the EntityType within a time range.", - "$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport" - }, - "fullExport": { - "description": "Exports all historical values of all entities of the EntityType within a time range", - "$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport" - }, - "destination": { - "description": "Required. Specifies destination location and format.", - "$ref": "GoogleCloudAiplatformV1FeatureValueDestination" - }, - "featureSelector": { - "description": "Required. Selects Features to export values of.", - "$ref": "GoogleCloudAiplatformV1FeatureSelector" - }, - "settings": { - "description": "Per-Feature export settings.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" - } - } - } - }, - "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport": { - "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport", - "description": "Describes exporting the latest Feature values of all entities of the EntityType between [start_time, snapshot_time].", - "type": "object", - "properties": { - "snapshotTime": { - "description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport": { - "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport", - "description": "Describes exporting all historical Feature values of all entities of the EntityType between [start_time, end_time].", - "type": "object", - "properties": { - "startTime": { - "description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequest", - "description": "Request message for FeaturestoreService.DeleteFeatureValues.", - "type": "object", - "properties": { - "selectEntity": { - "description": "Select feature values to be deleted by specifying entities.", - "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity" - }, - "selectTimeRangeAndFeature": { - "description": "Select feature values to be deleted by specifying time range and features.", - "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity", - "description": "Message to select entity. If an entity id is selected, all the feature values corresponding to the entity id will be deleted, including the entityId.", - "type": "object", - "properties": { - "entityIdSelector": { - "description": "Required. Selectors choosing feature values of which entity id to be deleted from the EntityType.", - "$ref": "GoogleCloudAiplatformV1EntityIdSelector" - } - } - }, - "GoogleCloudAiplatformV1EntityIdSelector": { - "id": "GoogleCloudAiplatformV1EntityIdSelector", - "description": "Selector for entityId. Getting ids from the given source.", - "type": "object", - "properties": { - "csvSource": { - "description": "Source of Csv", - "$ref": "GoogleCloudAiplatformV1CsvSource" - }, - "entityIdField": { - "description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", - "description": "Message to select time range and feature. Values of the selected feature generated within an inclusive time range will be deleted. Using this option permanently deletes the feature values from the specified feature IDs within the specified time range. This might include data from the online storage. If you want to retain any deleted historical data in the online storage, you must re-ingest it.", - "type": "object", - "properties": { - "timeRange": { - "description": "Required. Select feature generated within a half-inclusive time range. The time range is lower inclusive and upper exclusive.", - "$ref": "GoogleTypeInterval" - }, - "featureSelector": { - "description": "Required. Selectors choosing which feature values to be deleted from the EntityType.", - "$ref": "GoogleCloudAiplatformV1FeatureSelector" - }, - "skipOnlineStorageDelete": { - "description": "If set, data will not be deleted from online storage. When time range is older than the data in online storage, setting this to be true will make the deletion have no impact on online serving.", - "type": "boolean" - } - } - }, - "GoogleTypeInterval": { - "id": "GoogleTypeInterval", - "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", - "type": "object", - "properties": { - "startTime": { - "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1SearchFeaturesResponse": { - "id": "GoogleCloudAiplatformV1SearchFeaturesResponse", - "description": "Response message for FeaturestoreService.SearchFeatures.", - "type": "object", - "properties": { - "features": { - "description": "The Features matching the request. Fields returned: * `name` * `description` * `labels` * `create_time` * `update_time`", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Feature" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as SearchFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureGroup": { - "id": "GoogleCloudAiplatformV1FeatureGroup", - "description": "Vertex AI Feature Group.", - "type": "object", - "properties": { - "bigQuery": { - "description": "Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source. The BigQuery source table or view must have at least one entity ID column and a column named `feature_timestamp`.", - "$ref": "GoogleCloudAiplatformV1FeatureGroupBigQuery" - }, - "name": { - "description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this FeatureGroup was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this FeatureGroup was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { - "description": "Optional. Description of the FeatureGroup.", - "type": "string" - }, - "serviceAgentType": { - "description": "Optional. Service agent type used during jobs under a FeatureGroup. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureGroup within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service account to access the BigQuery source table.", - "type": "string", - "enumDescriptions": [ - "By default, the project-level Vertex AI Service Agent is enabled.", - "Specifies the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", - "Enable a FeatureGroup service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during jobs under a FeatureGroup." - ], - "enum": [ - "SERVICE_AGENT_TYPE_UNSPECIFIED", - "SERVICE_AGENT_TYPE_PROJECT", - "SERVICE_AGENT_TYPE_FEATURE_GROUP" - ] - }, - "serviceAccountEmail": { - "description": "Output only. A Service Account unique to this FeatureGroup. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to access source data while running jobs under this FeatureGroup.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureGroupBigQuery": { - "id": "GoogleCloudAiplatformV1FeatureGroupBigQuery", - "description": "Input source type for BigQuery Tables and Views.", - "type": "object", - "properties": { - "bigQuerySource": { - "description": "Required. Immutable. The BigQuery source URI that points to either a BigQuery Table or View.", - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - }, - "entityIdColumns": { - "description": "Optional. Columns to construct entity_id / row keys. If not provided defaults to `entity_id`.", - "type": "array", - "items": { - "type": "string" - } - }, - "staticDataSource": { - "description": "Optional. Set if the data source is not a time-series.", - "type": "boolean" - }, - "timeSeries": { - "description": "Optional. If the source is a time-series source, this can be set to control how downstream sources (ex: FeatureView ) will treat time-series sources. If not set, will treat the source as a time-series source with `feature_timestamp` as timestamp column and no scan boundary.", - "$ref": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries" - }, - "dense": { - "description": "Optional. If set, all feature values will be fetched from a single row per unique entityId including nulls. If not set, will collapse all rows for each unique entityId into a singe row with any non-null values if present, if no non-null values are present will sync null. ex: If source has schema `(entity_id, feature_timestamp, f0, f1)` and the following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` `(e1, 2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, 20, null)` is synced to online stores. If dense is not set, `(e1, 20, 15)` is synced to online stores.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries": { - "id": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries", - "type": "object", - "properties": { - "timestampColumn": { - "description": "Optional. Column hosting timestamp values for a time-series source. Will be used to determine the latest `feature_values` for each entity. Optional. If not provided, column named `feature_timestamp` of type `TIMESTAMP` will be used.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListFeatureGroupsResponse": { - "id": "GoogleCloudAiplatformV1ListFeatureGroupsResponse", - "description": "Response message for FeatureRegistryService.ListFeatureGroups.", - "type": "object", - "properties": { - "featureGroups": { - "description": "The FeatureGroups matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureGroup" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeatureGroupsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureOnlineStore": { - "id": "GoogleCloudAiplatformV1FeatureOnlineStore", - "description": "Vertex AI Feature Online Store provides a centralized repository for serving ML features and embedding indexes at low latency. The Feature Online Store is a top-level container.", - "type": "object", - "properties": { - "bigtable": { - "description": "Contains settings for the Cloud Bigtable instance that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable" - }, - "optimized": { - "description": "Contains settings for the Optimized store that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore. When choose Optimized storage type, need to set PrivateServiceConnectConfig.enable_private_service_connect to use private endpoint. Otherwise will use public endpoint by default.", - "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized" - }, - "name": { - "description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this FeatureOnlineStore was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this FeatureOnlineStore was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "state": { - "description": "Output only. State of the featureOnlineStore.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "State when the featureOnlineStore configuration is not being updated and the fields reflect the current configuration of the featureOnlineStore. The featureOnlineStore is usable in this state.", - "The state of the featureOnlineStore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featureOnlineStore. The featureOnlineStore is still usable in this state." - ], - "enum": [ - "STATE_UNSPECIFIED", - "STABLE", - "UPDATING" - ] - }, - "dedicatedServingEndpoint": { - "description": "Optional. The dedicated serving endpoint for this FeatureOnlineStore, which is different from common Vertex service endpoint.", - "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint" - }, - "encryptionSpec": { - "description": "Optional. Customer-managed encryption key spec for data storage. If set, online store will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable": { - "id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable", - "type": "object", - "properties": { - "autoScaling": { - "description": "Required. Autoscaling config applied to Bigtable Instance.", - "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling" - } - } - }, - "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling": { - "id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling", - "type": "object", - "properties": { - "minNodeCount": { - "description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", - "type": "integer", - "format": "int32" - }, - "maxNodeCount": { - "description": "Required. The maximum number of nodes to scale up to. Must be greater than or equal to min_node_count, and less than or equal to 10 times of 'min_node_count'.", - "type": "integer", - "format": "int32" - }, - "cpuUtilizationTarget": { - "description": "Optional. A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized": { - "id": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized", - "description": "Optimized storage type", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint": { - "id": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint", - "description": "The dedicated serving endpoint for this FeatureOnlineStore. Only need to set when you choose Optimized storage type. Public endpoint is provisioned by default.", - "type": "object", - "properties": { - "publicEndpointDomainName": { - "description": "Output only. This field will be populated with the domain name to use for this FeatureOnlineStore", - "readOnly": true, - "type": "string" - }, - "privateServiceConnectConfig": { - "description": "Optional. Private service connect config. The private service connection is available only for Optimized storage type, not for embedding management now. If PrivateServiceConnectConfig.enable_private_service_connect set to true, customers will use private service connection to send request. Otherwise, the connection will set to public endpoint.", - "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" - }, - "serviceAttachment": { - "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled and after FeatureViewSync is created.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse": { - "id": "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse", - "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores.", - "type": "object", - "properties": { - "featureOnlineStores": { - "description": "The FeatureOnlineStores matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeatureOnlineStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureView": { - "id": "GoogleCloudAiplatformV1FeatureView", - "description": "FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.", - "type": "object", - "properties": { - "bigQuerySource": { - "description": "Optional. Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1FeatureViewBigQuerySource" - }, - "featureRegistrySource": { - "description": "Optional. Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource" - }, - "vertexRagSource": { - "description": "Optional. The Vertex RAG Source that the FeatureView is linked to.", - "$ref": "GoogleCloudAiplatformV1FeatureViewVertexRagSource" - }, - "name": { - "description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this FeatureView was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this FeatureView was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "syncConfig": { - "description": "Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving.", - "$ref": "GoogleCloudAiplatformV1FeatureViewSyncConfig" - }, - "indexConfig": { - "description": "Optional. Configuration for index preparation for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving.", - "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfig" - }, - "optimizedConfig": { - "description": "Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig" - }, - "serviceAgentType": { - "description": "Optional. Service agent type used during data sync. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureView within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service account to access the BigQuery source table.", - "type": "string", - "enumDescriptions": [ - "By default, the project-level Vertex AI Service Agent is enabled.", - "Indicates the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used during sync jobs.", - "Enable a FeatureView service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during sync." - ], - "enum": [ - "SERVICE_AGENT_TYPE_UNSPECIFIED", - "SERVICE_AGENT_TYPE_PROJECT", - "SERVICE_AGENT_TYPE_FEATURE_VIEW" - ] - }, - "serviceAccountEmail": { - "description": "Output only. A Service Account unique to this FeatureView. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to sync data to the online store.", - "readOnly": true, - "type": "string" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewBigQuerySource": { - "id": "GoogleCloudAiplatformV1FeatureViewBigQuerySource", - "type": "object", - "properties": { - "uri": { - "description": "Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", - "type": "string" - }, - "entityIdColumns": { - "description": "Required. Columns to construct entity_id / row keys.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource": { - "id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource", - "description": "A Feature Registry source for features that need to be synced to Online Store.", - "type": "object", - "properties": { - "featureGroups": { - "description": "Required. List of features that need to be synced to Online Store.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup" - } - }, - "projectNumber": { - "description": "Optional. The project number of the parent project of the Feature Groups.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup": { - "id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup", - "description": "Features belonging to a single feature group that will be synced to Online Store.", - "type": "object", - "properties": { - "featureGroupId": { - "description": "Required. Identifier of the feature group.", - "type": "string" - }, - "featureIds": { - "description": "Required. Identifiers of features under the feature group.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1FeatureViewVertexRagSource": { - "id": "GoogleCloudAiplatformV1FeatureViewVertexRagSource", - "description": "A Vertex Rag source for features that need to be synced to Online Store.", - "type": "object", - "properties": { - "uri": { - "description": "Required. The BigQuery view/table URI that will be materialized on each manual sync trigger. The table/view is expected to have the following columns and types at least: - `corpus_id` (STRING, NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - `chunk_id` (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING, NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) - `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING, NULLABLE/REQUIRED)", - "type": "string" - }, - "ragCorpusId": { - "description": "Optional. The RAG corpus id corresponding to this FeatureView.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewSyncConfig": { - "id": "GoogleCloudAiplatformV1FeatureViewSyncConfig", - "description": "Configuration for Sync. Only one option is set.", - "type": "object", - "properties": { - "cron": { - "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", - "type": "string" - }, - "continuous": { - "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewIndexConfig": { - "id": "GoogleCloudAiplatformV1FeatureViewIndexConfig", - "description": "Configuration for vector indexing.", - "type": "object", - "properties": { - "treeAhConfig": { - "description": "Optional. Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396", - "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig" - }, - "bruteForceConfig": { - "description": "Optional. Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.", - "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig" - }, - "embeddingColumn": { - "description": "Optional. Column of embedding. This column contains the source data to create index for vector search. embedding_column must be set when using vector search.", - "type": "string" - }, - "filterColumns": { - "description": "Optional. Columns of features that're used to filter vector search results.", - "type": "array", - "items": { - "type": "string" - } - }, - "crowdingColumn": { - "description": "Optional. Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by FeatureOnlineStoreService.SearchNearestEntities to diversify search results. If NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to K in SearchNearestEntitiesRequest, it's guaranteed that no more than K entities of the same crowding attribute are returned in the response.", - "type": "string" - }, - "embeddingDimension": { - "description": "Optional. The number of dimensions of the input embedding.", - "type": "integer", - "format": "int32" - }, - "distanceMeasureType": { - "description": "Optional. The distance measure used in nearest neighbor search.", - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "Euclidean (L_2) Distance.", - "Cosine Distance. Defined as 1 - cosine similarity. We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of COSINE distance. Our algorithms have been more optimized for DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is mathematically equivalent to COSINE distance and results in the same ranking.", - "Dot Product Distance. Defined as a negative of the dot product." - ], - "enum": [ - "DISTANCE_MEASURE_TYPE_UNSPECIFIED", - "SQUARED_L2_DISTANCE", - "COSINE_DISTANCE", - "DOT_PRODUCT_DISTANCE" - ] - } - } - }, - "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig": { - "id": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig", - "description": "Configuration options for the tree-AH algorithm.", - "type": "object", - "properties": { - "leafNodeEmbeddingCount": { - "description": "Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig": { - "id": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig", - "description": "Configuration options for using brute force search.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1FeatureViewOptimizedConfig": { - "id": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", - "description": "Configuration for FeatureViews created in Optimized FeatureOnlineStore.", - "type": "object", - "properties": { - "automaticResources": { - "description": "Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000.", - "$ref": "GoogleCloudAiplatformV1AutomaticResources" - } - } - }, - "GoogleCloudAiplatformV1ListFeatureViewsResponse": { - "id": "GoogleCloudAiplatformV1ListFeatureViewsResponse", - "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViews.", - "type": "object", - "properties": { - "featureViews": { - "description": "The FeatureViews matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureView" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeatureViewsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SyncFeatureViewRequest": { - "id": "GoogleCloudAiplatformV1SyncFeatureViewRequest", - "description": "Request message for FeatureOnlineStoreAdminService.SyncFeatureView.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1SyncFeatureViewResponse": { - "id": "GoogleCloudAiplatformV1SyncFeatureViewResponse", - "description": "Response message for FeatureOnlineStoreAdminService.SyncFeatureView.", - "type": "object", - "properties": { - "featureViewSync": { - "description": "Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewSync": { - "id": "GoogleCloudAiplatformV1FeatureViewSync", - "description": "FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. Name of the FeatureViewSync. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", - "type": "string" - }, - "createTime": { - "description": "Output only. Time when this FeatureViewSync is created. Creation of a FeatureViewSync means that the job is pending / waiting for sufficient resources but may not have started the actual data transfer yet.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "runTime": { - "description": "Output only. Time when this FeatureViewSync is finished.", - "readOnly": true, - "$ref": "GoogleTypeInterval" - }, - "finalStatus": { - "description": "Output only. Final status of the FeatureViewSync.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "syncSummary": { - "description": "Output only. Summary of the sync job.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary": { - "id": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary", - "description": "Summary from the Sync job. For continuous syncs, the summary is updated periodically. For batch syncs, it gets updated on completion of the sync.", - "type": "object", - "properties": { - "rowSynced": { - "description": "Output only. Total number of rows synced.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "totalSlot": { - "description": "Output only. BigQuery slot milliseconds consumed for the sync job.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "systemWatermarkTime": { - "description": "Lower bound of the system time watermark for the sync job. This is only set for continuously syncing feature views.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse": { - "id": "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse", - "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViewSyncs.", - "type": "object", - "properties": { - "featureViewSyncs": { - "description": "The FeatureViewSyncs matching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureViewSync" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListFeatureViewSyncsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FetchFeatureValuesRequest": { - "id": "GoogleCloudAiplatformV1FetchFeatureValuesRequest", - "description": "Request message for FeatureOnlineStoreService.FetchFeatureValues. All the features under the requested feature view will be returned.", - "type": "object", - "properties": { - "dataKey": { - "description": "Optional. The request key to fetch feature values for.", - "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" - }, - "dataFormat": { - "description": "Optional. Response data format. If not set, FeatureViewDataFormat.KEY_VALUE will be used.", - "type": "string", - "enumDescriptions": [ - "Not set. Will be treated as the KeyValue format.", - "Return response data in key-value format.", - "Return response data in proto Struct format." - ], - "enum": [ - "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", - "KEY_VALUE", - "PROTO_STRUCT" - ] - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDataKey": { - "id": "GoogleCloudAiplatformV1FeatureViewDataKey", - "description": "Lookup key for a feature view.", - "type": "object", - "properties": { - "key": { - "description": "String key to use for lookup.", - "type": "string" - }, - "compositeKey": { - "description": "The actual Entity ID will be composed from this struct. This should match with the way ID is defined in the FeatureView spec.", - "$ref": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey": { - "id": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey", - "description": "ID that is comprised from several parts (columns).", - "type": "object", - "properties": { - "parts": { - "description": "Parts to construct Entity ID. Should match with the same ID columns as defined in FeatureView in the same order.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1FetchFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponse", - "description": "Response message for FeatureOnlineStoreService.FetchFeatureValues", - "type": "object", - "properties": { - "keyValues": { - "description": "Feature values in KeyValue format.", - "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList" - }, - "protoStruct": { - "description": "Feature values in proto Struct format.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "dataKey": { - "description": "The data key associated with this response. Will only be populated for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs.", - "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" - } - } - }, - "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList": { - "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList", - "description": "Response structure in the format of key (feature name) and (feature) value pair.", - "type": "object", - "properties": { - "features": { - "description": "List of feature names and values.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair" - } - } - } - }, - "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair": { - "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair", - "description": "Feature name & value pair.", - "type": "object", - "properties": { - "value": { - "description": "Feature value.", - "$ref": "GoogleCloudAiplatformV1FeatureValue" - }, - "name": { - "description": "Feature short name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SearchNearestEntitiesRequest": { - "id": "GoogleCloudAiplatformV1SearchNearestEntitiesRequest", - "description": "The request message for FeatureOnlineStoreService.SearchNearestEntities.", - "type": "object", - "properties": { - "query": { - "description": "Required. The query.", - "$ref": "GoogleCloudAiplatformV1NearestNeighborQuery" - }, - "returnFullEntity": { - "description": "Optional. If set to true, the full entities (including all vector values and metadata) of the nearest neighbors are returned; otherwise only entity id of the nearest neighbors will be returned. Note that returning full entities will significantly increase the latency and cost of the query.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborQuery": { - "id": "GoogleCloudAiplatformV1NearestNeighborQuery", - "description": "A query to find a number of similar entities.", - "type": "object", - "properties": { - "entityId": { - "description": "Optional. The entity id whose similar entities should be searched for. If embedding is set, search will use embedding instead of entity_id.", - "type": "string" - }, - "embedding": { - "description": "Optional. The embedding vector that be used for similar search.", - "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding" - }, - "neighborCount": { - "description": "Optional. The number of similar entities to be retrieved from feature view for each query.", - "type": "integer", - "format": "int32" - }, - "stringFilters": { - "description": "Optional. The list of string filters.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter" - } - }, - "numericFilters": { - "description": "Optional. The list of numeric filters.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter" - } - }, - "perCrowdingAttributeNeighborCount": { - "description": "Optional. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than sper_crowding_attribute_neighbor_count of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity.", - "type": "integer", - "format": "int32" - }, - "parameters": { - "description": "Optional. Parameters that can be set to tune query on the fly.", - "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryParameters" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding": { - "id": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding", - "description": "The embedding vector.", - "type": "object", - "properties": { - "value": { - "description": "Optional. Individual value in the embedding.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter": { - "id": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter", - "description": "String filter is used to search a subset of the entities by using boolean rules on string columns. For example: if a query specifies string filter with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' then that query will match entities that are red or blue, but if those points are also purple, then they will be excluded even if they are red/blue. Only string filter is supported for now, numeric filter will be supported in the near future.", - "type": "object", - "properties": { - "name": { - "description": "Required. Column names in BigQuery that used as filters.", - "type": "string" - }, - "allowTokens": { - "description": "Optional. The allowed tokens.", - "type": "array", - "items": { - "type": "string" - } - }, - "denyTokens": { - "description": "Optional. The denied tokens.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter": { - "id": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter", - "description": "Numeric filter is used to search a subset of the entities by using boolean rules on numeric columns. For example: Database Point 0: {name: \"a\" value_int: 42} {name: \"b\" value_float: 1.0} Database Point 1: {name: \"a\" value_int: 10} {name: \"b\" value_float: 2.0} Database Point 2: {name: \"a\" value_int: -1} {name: \"b\" value_float: 3.0} Query: {name: \"a\" value_int: 12 operator: LESS} // Matches Point 1, 2 {name: \"b\" value_float: 2.0 operator: EQUAL} // Matches Point 1", - "type": "object", - "properties": { - "valueInt": { - "description": "int value type.", - "type": "string", - "format": "int64" - }, - "valueFloat": { - "description": "float value type.", - "type": "number", - "format": "float" - }, - "valueDouble": { - "description": "double value type.", - "type": "number", - "format": "double" - }, - "name": { - "description": "Required. Column name in BigQuery that used as filters.", - "type": "string" - }, - "op": { - "description": "Optional. This MUST be specified for queries and must NOT be specified for database points.", - "type": "string", - "enumDescriptions": [ - "Unspecified operator.", - "Entities are eligible if their value is \u003c the query's.", - "Entities are eligible if their value is \u003c= the query's.", - "Entities are eligible if their value is == the query's.", - "Entities are eligible if their value is \u003e= the query's.", - "Entities are eligible if their value is \u003e the query's.", - "Entities are eligible if their value is != the query's." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "LESS", - "LESS_EQUAL", - "EQUAL", - "GREATER_EQUAL", - "GREATER", - "NOT_EQUAL" - ] - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborQueryParameters": { - "id": "GoogleCloudAiplatformV1NearestNeighborQueryParameters", - "description": "Parameters that can be overrided in each query to tune query latency and recall.", - "type": "object", - "properties": { - "approximateNeighborCandidates": { - "description": "Optional. The number of neighbors to find via approximate search before exact reordering is performed; if set, this value must be \u003e neighbor_count.", - "type": "integer", - "format": "int32" - }, - "leafNodesSearchFraction": { - "description": "Optional. The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1SearchNearestEntitiesResponse": { - "id": "GoogleCloudAiplatformV1SearchNearestEntitiesResponse", - "description": "Response message for FeatureOnlineStoreService.SearchNearestEntities", - "type": "object", - "properties": { - "nearestNeighbors": { - "description": "The nearest neighbors of the query entity.", - "$ref": "GoogleCloudAiplatformV1NearestNeighbors" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighbors": { - "id": "GoogleCloudAiplatformV1NearestNeighbors", - "description": "Nearest neighbors for one query.", - "type": "object", - "properties": { - "neighbors": { - "description": "All its neighbors.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NearestNeighborsNeighbor" - } - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborsNeighbor": { - "id": "GoogleCloudAiplatformV1NearestNeighborsNeighbor", - "description": "A neighbor of the query vector.", - "type": "object", - "properties": { - "entityId": { - "description": "The id of the similar entity.", - "type": "string" - }, - "distance": { - "description": "The distance between the neighbor and the query vector.", - "type": "number", - "format": "double" - }, - "entityKeyValues": { - "description": "The attributes of the neighbor, e.g. filters, crowding and metadata Note that full entities are returned only when \"return_full_entity\" is set to true. Otherwise, only the \"entity_id\" and \"distance\" fields are populated.", - "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponse" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest": { - "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest", - "description": "Request message for FeatureOnlineStoreService.FeatureViewDirectWrite.", - "type": "object", - "properties": { - "dataKeyAndFeatureValues": { - "description": "Required. The data keys and associated feature values.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues" - } - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues": { - "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues", - "description": "A data key and associated feature values to write to the feature view.", - "type": "object", - "properties": { - "dataKey": { - "description": "The data key.", - "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" - }, - "features": { - "description": "List of features to write.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature" - } - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature": { - "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature", - "description": "Feature name & value pair.", - "type": "object", - "properties": { - "value": { - "description": "Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field.", - "$ref": "GoogleCloudAiplatformV1FeatureValue" - }, - "name": { - "description": "Feature short name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse": { - "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse", - "description": "Response message for FeatureOnlineStoreService.FeatureViewDirectWrite.", - "type": "object", - "properties": { - "status": { - "description": "Response status for the keys listed in FeatureViewDirectWriteResponse.write_responses. The error only applies to the listed data keys - the stream will remain open for further FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests. Partial failures (e.g. if the first 10 keys of a request fail, but the rest succeed) from a single request may result in multiple responses - there will be one response for the successful request keys and one response for the failing request keys.", - "$ref": "GoogleRpcStatus" - }, - "writeResponses": { - "description": "Details about write for each key. If status is not OK, WriteResponse.data_key will have the key with error, but WriteResponse.online_store_write_time will not be present.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse" - } - } - } - }, - "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse": { - "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse", - "description": "Details about the write for each key.", - "type": "object", - "properties": { - "dataKey": { - "description": "What key is this write response associated with.", - "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" - }, - "onlineStoreWriteTime": { - "description": "When the feature values were written to the online store. If FeatureViewDirectWriteResponse.status is not OK, this field is not populated.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1CacheConfig": { - "id": "GoogleCloudAiplatformV1CacheConfig", - "description": "Config of GenAI caching features. This is a singleton resource.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", - "type": "string" - }, - "disableCache": { - "description": "If set to true, disables GenAI caching. Otherwise caching is enabled.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1CachedContent": { - "id": "GoogleCloudAiplatformV1CachedContent", - "description": "A resource used in LLM queries for users to explicitly specify what to cache and how to cache.", - "type": "object", - "properties": { - "expireTime": { - "description": "Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input.", - "type": "string", - "format": "google-datetime" - }, - "ttl": { - "description": "Input only. The TTL for this resource. The expiration time is computed: now + TTL.", - "type": "string", - "format": "google-duration" - }, - "name": { - "description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", - "type": "string" - }, - "displayName": { - "description": "Optional. Immutable. The user-generated meaningful display name of the cached content.", - "type": "string" - }, - "model": { - "description": "Immutable. The name of the `Model` to use for cached content. Currently, only the published Gemini base models are supported, in form of projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}", - "type": "string" - }, - "systemInstruction": { - "description": "Optional. Input only. Immutable. Developer set system instruction. Currently, text only", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "contents": { - "description": "Optional. Input only. Immutable. The content to cache", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "tools": { - "description": "Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - } - }, - "toolConfig": { - "description": "Optional. Input only. Immutable. Tool config. This config is shared for all tools", - "$ref": "GoogleCloudAiplatformV1ToolConfig" - }, - "createTime": { - "description": "Output only. Creation time of the cache entry.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. When the cache entry was last updated in UTC time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "usageMetadata": { - "description": "Output only. Metadata on the usage of the cached content.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CachedContentUsageMetadata" - }, - "encryptionSpec": { - "description": "Input only. Immutable. Customer-managed encryption key spec for a `CachedContent`. If set, this `CachedContent` and all its sub-resources will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1Tool": { - "id": "GoogleCloudAiplatformV1Tool", - "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", - "type": "object", - "properties": { - "functionDeclarations": { - "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FunctionDeclaration" - } - }, - "retrieval": { - "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.", - "$ref": "GoogleCloudAiplatformV1Retrieval" - }, - "googleSearch": { - "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", - "$ref": "GoogleCloudAiplatformV1ToolGoogleSearch" - }, - "googleSearchRetrieval": { - "description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search.", - "$ref": "GoogleCloudAiplatformV1GoogleSearchRetrieval" - }, - "googleMaps": { - "description": "Optional. GoogleMaps tool type. Tool to support Google Maps in Model.", - "$ref": "GoogleCloudAiplatformV1GoogleMaps" - }, - "enterpriseWebSearch": { - "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.", - "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch" - }, - "codeExecution": { - "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation.", - "$ref": "GoogleCloudAiplatformV1ToolCodeExecution" - }, - "urlContext": { - "description": "Optional. Tool to support URL context retrieval.", - "$ref": "GoogleCloudAiplatformV1UrlContext" - }, - "computerUse": { - "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.", - "$ref": "GoogleCloudAiplatformV1ToolComputerUse" - } - } - }, - "GoogleCloudAiplatformV1FunctionDeclaration": { - "id": "GoogleCloudAiplatformV1FunctionDeclaration", - "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64.", - "type": "string" - }, - "description": { - "description": "Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.", - "type": "string" - }, - "parameters": { - "description": "Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1", - "$ref": "GoogleCloudAiplatformV1Schema" - }, - "parametersJsonSchema": { - "description": "Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"age\": { \"type\": \"integer\" } }, \"additionalProperties\": false, \"required\": [\"name\", \"age\"], \"propertyOrdering\": [\"name\", \"age\"] } ``` This field is mutually exclusive with `parameters`.", - "type": "any" - }, - "response": { - "description": "Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.", - "$ref": "GoogleCloudAiplatformV1Schema" - }, - "responseJsonSchema": { - "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1Schema": { - "id": "GoogleCloudAiplatformV1Schema", - "description": "Schema is used to define the format of input/output data. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may be added in the future as needed.", - "type": "object", - "properties": { - "type": { - "description": "Optional. The type of the data.", - "type": "string", - "enumDescriptions": [ - "Not specified, should not be used.", - "OpenAPI string type", - "OpenAPI number type", - "OpenAPI integer type", - "OpenAPI boolean type", - "OpenAPI array type", - "OpenAPI object type", - "Null type" - ], - "enum": [ - "TYPE_UNSPECIFIED", - "STRING", - "NUMBER", - "INTEGER", - "BOOLEAN", - "ARRAY", - "OBJECT", - "NULL" - ] - }, - "format": { - "description": "Optional. The format of the data. Supported formats: for NUMBER type: \"float\", \"double\" for INTEGER type: \"int32\", \"int64\" for STRING type: \"email\", \"byte\", etc", - "type": "string" - }, - "title": { - "description": "Optional. The title of the Schema.", - "type": "string" - }, - "description": { - "description": "Optional. The description of the data.", - "type": "string" - }, - "nullable": { - "description": "Optional. Indicates if the value may be null.", - "type": "boolean" - }, - "default": { - "description": "Optional. Default value of the data.", - "type": "any" - }, - "items": { - "description": "Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY.", - "$ref": "GoogleCloudAiplatformV1Schema" - }, - "minItems": { - "description": "Optional. Minimum number of the elements for Type.ARRAY.", - "type": "string", - "format": "int64" - }, - "maxItems": { - "description": "Optional. Maximum number of the elements for Type.ARRAY.", - "type": "string", - "format": "int64" - }, - "enum": { - "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", - "type": "array", - "items": { - "type": "string" - } - }, - "properties": { - "description": "Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1Schema" - } - }, - "propertyOrdering": { - "description": "Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties.", - "type": "array", - "items": { - "type": "string" - } - }, - "required": { - "description": "Optional. Required properties of Type.OBJECT.", - "type": "array", - "items": { - "type": "string" - } - }, - "minProperties": { - "description": "Optional. Minimum number of the properties for Type.OBJECT.", - "type": "string", - "format": "int64" - }, - "maxProperties": { - "description": "Optional. Maximum number of the properties for Type.OBJECT.", - "type": "string", - "format": "int64" - }, - "minimum": { - "description": "Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER", - "type": "number", - "format": "double" - }, - "maximum": { - "description": "Optional. Maximum value of the Type.INTEGER and Type.NUMBER", - "type": "number", - "format": "double" - }, - "minLength": { - "description": "Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING", - "type": "string", - "format": "int64" - }, - "maxLength": { - "description": "Optional. Maximum length of the Type.STRING", - "type": "string", - "format": "int64" - }, - "pattern": { - "description": "Optional. Pattern of the Type.STRING to restrict a string to a regular expression.", - "type": "string" - }, - "example": { - "description": "Optional. Example of the object. Will only populated when the object is the root.", - "type": "any" - }, - "anyOf": { - "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Schema" - } - }, - "additionalProperties": { - "description": "Optional. Can either be a boolean or an object; controls the presence of additional properties.", - "type": "any" - }, - "ref": { - "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring", - "type": "string" - }, - "defs": { - "description": "Optional. A map of definitions for use by `ref` Only allowed at the root of the schema.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1Schema" - } - } - } - }, - "GoogleCloudAiplatformV1Retrieval": { - "id": "GoogleCloudAiplatformV1Retrieval", - "description": "Defines a retrieval tool that model can call to access external knowledge.", - "type": "object", - "properties": { - "vertexAiSearch": { - "description": "Set to use data source powered by Vertex AI Search.", - "$ref": "GoogleCloudAiplatformV1VertexAISearch" - }, - "vertexRagStore": { - "description": "Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.", - "$ref": "GoogleCloudAiplatformV1VertexRagStore" - }, - "externalApi": { - "description": "Use data source powered by external API for grounding.", - "$ref": "GoogleCloudAiplatformV1ExternalApi" - }, - "disableAttribution": { - "description": "Optional. Deprecated. This option is no longer supported.", - "deprecated": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1VertexAISearch": { - "id": "GoogleCloudAiplatformV1VertexAISearch", - "description": "Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder", - "type": "object", - "properties": { - "datastore": { - "description": "Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", - "type": "string" - }, - "engine": { - "description": "Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", - "type": "string" - }, - "maxResults": { - "description": "Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.", - "type": "integer", - "format": "int32" - }, - "filter": { - "description": "Optional. Filter strings to be passed to the search API.", - "type": "string" - }, - "dataStoreSpecs": { - "description": "Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec" - } - } - } - }, - "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec": { - "id": "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec", - "description": "Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec", - "type": "object", - "properties": { - "dataStore": { - "description": "Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", - "type": "string" - }, - "filter": { - "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1VertexRagStore": { - "id": "GoogleCloudAiplatformV1VertexRagStore", - "description": "Retrieve from Vertex RAG Store for grounding.", - "type": "object", - "properties": { - "ragResources": { - "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1VertexRagStoreRagResource" - } - }, - "similarityTopK": { - "description": "Optional. Number of top k results to return from the selected corpora.", - "deprecated": true, - "type": "integer", - "format": "int32" - }, - "vectorDistanceThreshold": { - "description": "Optional. Only return results with vector distance smaller than the threshold.", - "deprecated": true, - "type": "number", - "format": "double" - }, - "ragRetrievalConfig": { - "description": "Optional. The retrieval config for the Rag query.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig" - } - } - }, - "GoogleCloudAiplatformV1VertexRagStoreRagResource": { - "id": "GoogleCloudAiplatformV1VertexRagStoreRagResource", - "description": "The definition of the Rag resource.", - "type": "object", - "properties": { - "ragCorpus": { - "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "type": "string" - }, - "ragFileIds": { - "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RagRetrievalConfig": { - "id": "GoogleCloudAiplatformV1RagRetrievalConfig", - "description": "Specifies the context retrieval config.", - "type": "object", - "properties": { - "topK": { - "description": "Optional. The number of contexts to retrieve.", - "type": "integer", - "format": "int32" - }, - "filter": { - "description": "Optional. Config for filters.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigFilter" - }, - "ranking": { - "description": "Optional. Config for ranking and reranking.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRanking" - } - } - }, - "GoogleCloudAiplatformV1RagRetrievalConfigFilter": { - "id": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", - "description": "Config for filters.", - "type": "object", - "properties": { - "vectorDistanceThreshold": { - "description": "Optional. Only returns contexts with vector distance smaller than the threshold.", - "type": "number", - "format": "double" - }, - "vectorSimilarityThreshold": { - "description": "Optional. Only returns contexts with vector similarity larger than the threshold.", - "type": "number", - "format": "double" - }, - "metadataFilter": { - "description": "Optional. String for metadata filtering.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagRetrievalConfigRanking": { - "id": "GoogleCloudAiplatformV1RagRetrievalConfigRanking", - "description": "Config for ranking and reranking.", - "type": "object", - "properties": { - "rankService": { - "description": "Optional. Config for Rank Service.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService" - }, - "llmRanker": { - "description": "Optional. Config for LlmRanker.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker" - } - } - }, - "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService": { - "id": "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService", - "description": "Config for Rank Service.", - "type": "object", - "properties": { - "modelName": { - "description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker": { - "id": "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker", - "description": "Config for LlmRanker.", - "type": "object", - "properties": { - "modelName": { - "description": "Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExternalApi": { - "id": "GoogleCloudAiplatformV1ExternalApi", - "description": "Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec.", - "type": "object", - "properties": { - "simpleSearchParams": { - "description": "Parameters for the simple search API.", - "$ref": "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams" - }, - "elasticSearchParams": { - "description": "Parameters for the elastic search API.", - "$ref": "GoogleCloudAiplatformV1ExternalApiElasticSearchParams" - }, - "apiSpec": { - "description": "The API spec that the external API implements.", - "type": "string", - "enumDescriptions": [ - "Unspecified API spec. This value should not be used.", - "Simple search API spec.", - "Elastic search API spec." - ], - "enum": [ - "API_SPEC_UNSPECIFIED", - "SIMPLE_SEARCH", - "ELASTIC_SEARCH" - ] - }, - "endpoint": { - "description": "The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search", - "type": "string" - }, - "apiAuth": { - "description": "The authentication config to access the API. Deprecated. Please use auth_config instead.", - "deprecated": true, - "$ref": "GoogleCloudAiplatformV1ApiAuth" - }, - "authConfig": { - "description": "The authentication config to access the API.", - "$ref": "GoogleCloudAiplatformV1AuthConfig" - } - } - }, - "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams": { - "id": "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams", - "description": "The search parameters to use for SIMPLE_SEARCH spec.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ExternalApiElasticSearchParams": { - "id": "GoogleCloudAiplatformV1ExternalApiElasticSearchParams", - "description": "The search parameters to use for the ELASTIC_SEARCH spec.", - "type": "object", - "properties": { - "index": { - "description": "The ElasticSearch index to use.", - "type": "string" - }, - "searchTemplate": { - "description": "The ElasticSearch search template to use.", - "type": "string" - }, - "numHits": { - "description": "Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ApiAuth": { - "id": "GoogleCloudAiplatformV1ApiAuth", - "description": "The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead.", - "type": "object", - "properties": { - "apiKeyConfig": { - "description": "The API secret.", - "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" - } - } - }, - "GoogleCloudAiplatformV1ApiAuthApiKeyConfig": { - "id": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", - "description": "The API secret.", - "type": "object", - "properties": { - "apiKeySecretVersion": { - "description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}", - "type": "string" - }, - "apiKeyString": { - "description": "The API key string. Either this or `api_key_secret_version` must be set.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AuthConfig": { - "id": "GoogleCloudAiplatformV1AuthConfig", - "description": "Auth configuration to run the extension.", - "type": "object", - "properties": { - "apiKeyConfig": { - "description": "Config for API key auth.", - "$ref": "GoogleCloudAiplatformV1AuthConfigApiKeyConfig" - }, - "httpBasicAuthConfig": { - "description": "Config for HTTP Basic auth.", - "$ref": "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig" - }, - "googleServiceAccountConfig": { - "description": "Config for Google Service Account auth.", - "$ref": "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig" - }, - "oauthConfig": { - "description": "Config for user oauth.", - "$ref": "GoogleCloudAiplatformV1AuthConfigOauthConfig" - }, - "oidcConfig": { - "description": "Config for user OIDC auth.", - "$ref": "GoogleCloudAiplatformV1AuthConfigOidcConfig" - }, - "authType": { - "description": "Type of auth scheme.", - "type": "string", - "enumDescriptions": [ - "", - "No Auth.", - "API Key Auth.", - "HTTP Basic Auth.", - "Google Service Account Auth.", - "OAuth auth.", - "OpenID Connect (OIDC) Auth." - ], - "enum": [ - "AUTH_TYPE_UNSPECIFIED", - "NO_AUTH", - "API_KEY_AUTH", - "HTTP_BASIC_AUTH", - "GOOGLE_SERVICE_ACCOUNT_AUTH", - "OAUTH", - "OIDC_AUTH" - ] - } - } - }, - "GoogleCloudAiplatformV1AuthConfigApiKeyConfig": { - "id": "GoogleCloudAiplatformV1AuthConfigApiKeyConfig", - "description": "Config for authentication with API key.", - "type": "object", - "properties": { - "name": { - "description": "Optional. The parameter name of the API key. E.g. If the API request is \"https://example.com/act?api_key=\", \"api_key\" would be the parameter name.", - "type": "string" - }, - "apiKeySecret": { - "description": "Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", - "type": "string" - }, - "apiKeyString": { - "description": "Optional. The API key to be used in the request directly.", - "type": "string" - }, - "httpElementLocation": { - "description": "Optional. The location of the API key.", - "type": "string", - "enumDescriptions": [ - "", - "Element is in the HTTP request query.", - "Element is in the HTTP request header.", - "Element is in the HTTP request path.", - "Element is in the HTTP request body.", - "Element is in the HTTP request cookie." - ], - "enum": [ - "HTTP_IN_UNSPECIFIED", - "HTTP_IN_QUERY", - "HTTP_IN_HEADER", - "HTTP_IN_PATH", - "HTTP_IN_BODY", - "HTTP_IN_COOKIE" - ] - } - } - }, - "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig": { - "id": "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig", - "description": "Config for HTTP Basic Authentication.", - "type": "object", - "properties": { - "credentialSecret": { - "description": "Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig": { - "id": "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig", - "description": "Config for Google Service Account Authentication.", - "type": "object", - "properties": { - "serviceAccount": { - "description": "Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AuthConfigOauthConfig": { - "id": "GoogleCloudAiplatformV1AuthConfigOauthConfig", - "description": "Config for user oauth.", - "type": "object", - "properties": { - "accessToken": { - "description": "Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.", - "type": "string" - }, - "serviceAccount": { - "description": "The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AuthConfigOidcConfig": { - "id": "GoogleCloudAiplatformV1AuthConfigOidcConfig", - "description": "Config for user OIDC auth.", - "type": "object", - "properties": { - "idToken": { - "description": "OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.", - "type": "string" - }, - "serviceAccount": { - "description": "The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ToolGoogleSearch": { - "id": "GoogleCloudAiplatformV1ToolGoogleSearch", - "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1GoogleSearchRetrieval": { - "id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", - "description": "Tool to retrieve public web data for grounding, powered by Google.", - "type": "object", - "properties": { - "dynamicRetrievalConfig": { - "description": "Specifies the dynamic retrieval configuration for the given source.", - "$ref": "GoogleCloudAiplatformV1DynamicRetrievalConfig" - } - } - }, - "GoogleCloudAiplatformV1DynamicRetrievalConfig": { - "id": "GoogleCloudAiplatformV1DynamicRetrievalConfig", - "description": "Describes the options to customize dynamic retrieval.", - "type": "object", - "properties": { - "mode": { - "description": "The mode of the predictor to be used in dynamic retrieval.", - "type": "string", - "enumDescriptions": [ - "Always trigger retrieval.", - "Run retrieval only when system decides it is necessary." - ], - "enum": [ - "MODE_UNSPECIFIED", - "MODE_DYNAMIC" - ] - }, - "dynamicThreshold": { - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1GoogleMaps": { - "id": "GoogleCloudAiplatformV1GoogleMaps", - "description": "Tool to retrieve public maps data for grounding, powered by Google.", - "type": "object", - "properties": { - "apiAuth": { - "description": "The authentication config to access the API. Deprecated. Please use auth_config instead.", - "deprecated": true, - "$ref": "GoogleCloudAiplatformV1ApiAuth" - }, - "authConfig": { - "description": "The authentication config to access the API. Only API key is supported.", - "$ref": "GoogleCloudAiplatformV1AuthConfig" - } - } - }, - "GoogleCloudAiplatformV1EnterpriseWebSearch": { - "id": "GoogleCloudAiplatformV1EnterpriseWebSearch", - "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ToolCodeExecution": { - "id": "GoogleCloudAiplatformV1ToolCodeExecution", - "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1UrlContext": { - "id": "GoogleCloudAiplatformV1UrlContext", - "description": "Tool to support URL context.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ToolComputerUse": { - "id": "GoogleCloudAiplatformV1ToolComputerUse", - "description": "Tool to support computer use.", - "type": "object", - "properties": { - "environment": { - "description": "Required. The environment being operated.", - "type": "string", - "enumDescriptions": [ - "Defaults to browser.", - "Operates in a web browser." - ], - "enum": [ - "ENVIRONMENT_UNSPECIFIED", - "ENVIRONMENT_BROWSER" - ] - } - } - }, - "GoogleCloudAiplatformV1ToolConfig": { - "id": "GoogleCloudAiplatformV1ToolConfig", - "description": "Tool config. This config is shared for all tools provided in the request.", - "type": "object", - "properties": { - "functionCallingConfig": { - "description": "Optional. Function calling config.", - "$ref": "GoogleCloudAiplatformV1FunctionCallingConfig" - }, - "retrievalConfig": { - "description": "Optional. Retrieval config.", - "$ref": "GoogleCloudAiplatformV1RetrievalConfig" - } - } - }, - "GoogleCloudAiplatformV1FunctionCallingConfig": { - "id": "GoogleCloudAiplatformV1FunctionCallingConfig", - "description": "Function calling config.", - "type": "object", - "properties": { - "mode": { - "description": "Optional. Function calling mode.", - "type": "string", - "enumDescriptions": [ - "Unspecified function calling mode. This value should not be used.", - "Default model behavior, model decides to predict either function calls or natural language response.", - "Model is constrained to always predicting function calls only. If \"allowed_function_names\" are set, the predicted function calls will be limited to any one of \"allowed_function_names\", else the predicted function calls will be any one of the provided \"function_declarations\".", - "Model will not predict any function calls. Model behavior is same as when not passing any function declarations." - ], - "enum": [ - "MODE_UNSPECIFIED", - "AUTO", - "ANY", - "NONE" - ] - }, - "allowedFunctionNames": { - "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RetrievalConfig": { - "id": "GoogleCloudAiplatformV1RetrievalConfig", - "description": "Retrieval config.", - "type": "object", - "properties": { - "latLng": { - "description": "The location of the user.", - "$ref": "GoogleTypeLatLng" - }, - "languageCode": { - "description": "The language code of the user.", - "type": "string" - } - } - }, - "GoogleTypeLatLng": { - "id": "GoogleTypeLatLng", - "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", - "type": "object", - "properties": { - "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", - "type": "number", - "format": "double" - }, - "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1CachedContentUsageMetadata": { - "id": "GoogleCloudAiplatformV1CachedContentUsageMetadata", - "description": "Metadata on the usage of the cached content.", - "type": "object", - "properties": { - "totalTokenCount": { - "description": "Total number of tokens that the cached content consumes.", - "type": "integer", - "format": "int32" - }, - "textCount": { - "description": "Number of text characters.", - "type": "integer", - "format": "int32" - }, - "imageCount": { - "description": "Number of images.", - "type": "integer", - "format": "int32" - }, - "videoDurationSeconds": { - "description": "Duration of video in seconds.", - "type": "integer", - "format": "int32" - }, - "audioDurationSeconds": { - "description": "Duration of audio in seconds.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ListCachedContentsResponse": { - "id": "GoogleCloudAiplatformV1ListCachedContentsResponse", - "description": "Response with a list of CachedContents.", - "type": "object", - "properties": { - "cachedContents": { - "description": "List of cached contents.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1CachedContent" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TuningJob": { - "id": "GoogleCloudAiplatformV1TuningJob", - "description": "Represents a TuningJob that runs with Google owned models.", - "type": "object", - "properties": { - "baseModel": { - "description": "The base model that is being tuned. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).", - "type": "string" - }, - "supervisedTuningSpec": { - "description": "Tuning Spec for Supervised Fine Tuning.", - "$ref": "GoogleCloudAiplatformV1SupervisedTuningSpec" - }, - "name": { - "description": "Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", - "readOnly": true, - "type": "string" - }, - "tunedModelDisplayName": { - "description": "Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "Optional. The description of the TuningJob.", - "type": "string" - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "createTime": { - "description": "Output only. Time when the TuningJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the TuningJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "error": { - "description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "experiment": { - "description": "Output only. The Experiment associated with this TuningJob.", - "readOnly": true, - "type": "string" - }, - "tunedModel": { - "description": "Output only. The tuned model resources associated with this TuningJob.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1TunedModel" - }, - "tuningDataStats": { - "description": "Output only. The tuning data statistics associated with this TuningJob.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1TuningDataStats" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "serviceAccount": { - "description": "The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SupervisedTuningSpec": { - "id": "GoogleCloudAiplatformV1SupervisedTuningSpec", - "description": "Tuning Spec for Supervised Tuning for first party models.", - "type": "object", - "properties": { - "trainingDatasetUri": { - "description": "Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", - "type": "string" - }, - "validationDatasetUri": { - "description": "Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", - "type": "string" - }, - "hyperParameters": { - "description": "Optional. Hyperparameters for SFT.", - "$ref": "GoogleCloudAiplatformV1SupervisedHyperParameters" - }, - "exportLastCheckpointOnly": { - "description": "Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SupervisedHyperParameters": { - "id": "GoogleCloudAiplatformV1SupervisedHyperParameters", - "description": "Hyperparameters for SFT.", - "type": "object", - "properties": { - "epochCount": { - "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", - "type": "string", - "format": "int64" - }, - "learningRateMultiplier": { - "description": "Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.", - "type": "number", - "format": "double" - }, - "adapterSize": { - "description": "Optional. Adapter size for tuning.", - "type": "string", - "enumDescriptions": [ - "Adapter size is unspecified.", - "Adapter size 1.", - "Adapter size 2.", - "Adapter size 4.", - "Adapter size 8.", - "Adapter size 16.", - "Adapter size 32." - ], - "enum": [ - "ADAPTER_SIZE_UNSPECIFIED", - "ADAPTER_SIZE_ONE", - "ADAPTER_SIZE_TWO", - "ADAPTER_SIZE_FOUR", - "ADAPTER_SIZE_EIGHT", - "ADAPTER_SIZE_SIXTEEN", - "ADAPTER_SIZE_THIRTY_TWO" - ] - } - } - }, - "GoogleCloudAiplatformV1TunedModel": { - "id": "GoogleCloudAiplatformV1TunedModel", - "description": "The Model Registry Model and Online Prediction Endpoint associated with this TuningJob.", - "type": "object", - "properties": { - "model": { - "description": "Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version_id will be 1. For continuous tuning, the version id will be incremented by 1 from the last version id in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}`", - "readOnly": true, - "type": "string" - }, - "endpoint": { - "description": "Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", - "readOnly": true, - "type": "string" - }, - "checkpoints": { - "description": "Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TunedModelCheckpoint" - } - } - } - }, - "GoogleCloudAiplatformV1TunedModelCheckpoint": { - "id": "GoogleCloudAiplatformV1TunedModelCheckpoint", - "description": "TunedModelCheckpoint for the Tuned Model of a Tuning Job.", - "type": "object", - "properties": { - "checkpointId": { - "description": "The ID of the checkpoint.", - "type": "string" - }, - "epoch": { - "description": "The epoch of the checkpoint.", - "type": "string", - "format": "int64" - }, - "step": { - "description": "The step of the checkpoint.", - "type": "string", - "format": "int64" - }, - "endpoint": { - "description": "The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TuningDataStats": { - "id": "GoogleCloudAiplatformV1TuningDataStats", - "description": "The tuning data statistic values for TuningJob.", - "type": "object", - "properties": { - "supervisedTuningDataStats": { - "description": "The SFT Tuning data stats.", - "$ref": "GoogleCloudAiplatformV1SupervisedTuningDataStats" - } - } - }, - "GoogleCloudAiplatformV1SupervisedTuningDataStats": { - "id": "GoogleCloudAiplatformV1SupervisedTuningDataStats", - "description": "Tuning data statistics for Supervised Tuning.", - "type": "object", - "properties": { - "tuningDatasetExampleCount": { - "description": "Output only. Number of examples in the tuning dataset.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "totalTuningCharacterCount": { - "description": "Output only. Number of tuning characters in the tuning dataset.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "totalBillableCharacterCount": { - "description": "Output only. Number of billable characters in the tuning dataset.", - "readOnly": true, - "deprecated": true, - "type": "string", - "format": "int64" - }, - "totalBillableTokenCount": { - "description": "Output only. Number of billable tokens in the tuning dataset.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "tuningStepCount": { - "description": "Output only. Number of tuning steps for this Tuning Job.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "userInputTokenDistribution": { - "description": "Output only. Dataset distributions for the user input tokens.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" - }, - "userOutputTokenDistribution": { - "description": "Output only. Dataset distributions for the user output tokens.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" - }, - "userMessagePerExampleDistribution": { - "description": "Output only. Dataset distributions for the messages per example.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" - }, - "userDatasetExamples": { - "description": "Output only. Sample user messages in the training dataset uri.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "totalTruncatedExampleCount": { - "description": "Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "truncatedExampleIndices": { - "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", - "readOnly": true, - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "droppedExampleReasons": { - "description": "Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution": { - "id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", - "description": "Dataset distribution for Supervised Tuning.", - "type": "object", - "properties": { - "sum": { - "description": "Output only. Sum of a given population of values.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "billableSum": { - "description": "Output only. Sum of a given population of values that are billable.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "min": { - "description": "Output only. The minimum of the population values.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "max": { - "description": "Output only. The maximum of the population values.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "mean": { - "description": "Output only. The arithmetic mean of the values in the population.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "median": { - "description": "Output only. The median of the values in the population.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "p5": { - "description": "Output only. The 5th percentile of the values in the population.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "p95": { - "description": "Output only. The 95th percentile of the values in the population.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "buckets": { - "description": "Output only. Defines the histogram bucket.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket" - } - } - } - }, - "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket": { - "id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket", - "description": "Dataset bucket used to create a histogram for the distribution given a population of values.", - "type": "object", - "properties": { - "count": { - "description": "Output only. Number of values in the bucket.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "left": { - "description": "Output only. Left bound of the bucket.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "right": { - "description": "Output only. Right bound of the bucket.", - "readOnly": true, - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ListTuningJobsResponse": { - "id": "GoogleCloudAiplatformV1ListTuningJobsResponse", - "description": "Response message for GenAiTuningService.ListTuningJobs", - "type": "object", - "properties": { - "tuningJobs": { - "description": "List of TuningJobs in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TuningJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelTuningJobRequest": { - "id": "GoogleCloudAiplatformV1CancelTuningJobRequest", - "description": "Request message for GenAiTuningService.CancelTuningJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RebaseTunedModelRequest": { - "id": "GoogleCloudAiplatformV1RebaseTunedModelRequest", - "description": "Request message for GenAiTuningService.RebaseTunedModel.", - "type": "object", - "properties": { - "tunedModelRef": { - "description": "Required. TunedModel reference to retrieve the legacy model information.", - "$ref": "GoogleCloudAiplatformV1TunedModelRef" - }, - "tuningJob": { - "description": "Optional. The TuningJob to be updated. Users can use this TuningJob field to overwrite tuning configs.", - "$ref": "GoogleCloudAiplatformV1TuningJob" - }, - "artifactDestination": { - "description": "Optional. The Google Cloud Storage location to write the artifacts.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "deployToSameEndpoint": { - "description": "Optional. By default, bison to gemini migration will always create new model/endpoint, but for gemini-1.0 to gemini-1.5 migration, we default deploy to the same endpoint. See details in this Section.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1TunedModelRef": { - "id": "GoogleCloudAiplatformV1TunedModelRef", - "description": "TunedModel Reference for legacy model migration.", - "type": "object", - "properties": { - "tunedModel": { - "description": "Support migration from model registry.", - "type": "string" - }, - "tuningJob": { - "description": "Support migration from tuning job list page, from gemini-1.0-pro-002 to 1.5 and above.", - "type": "string" - }, - "pipelineJob": { - "description": "Support migration from tuning job list page, from bison model to gemini model.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Index": { - "id": "GoogleCloudAiplatformV1Index", - "description": "A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the Index.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the Index.", - "type": "string" - }, - "metadataSchemaUri": { - "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "metadata": { - "description": "An additional information about the Index; the schema of the metadata can be found in metadata_schema.", - "type": "any" - }, - "deployedIndexes": { - "description": "Output only. The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedIndexRef" - } - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Index was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Index was most recently updated. This also includes any update to the contents of the Index. Note that Operations working on this Index may have their Operations.metadata.generic_metadata.update_time a little after the value of this timestamp, yet that does not mean their results are not already reflected in the Index. Result of any successfully completed Operation on the Index is reflected in it.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "indexStats": { - "description": "Output only. Stats of the index resource.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1IndexStats" - }, - "indexUpdateMethod": { - "description": "Immutable. The update method to use with this Index. If not set, BATCH_UPDATE will be used by default.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "BatchUpdate: user can call UpdateIndex with files on Cloud Storage of Datapoints to update.", - "StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time." - ], - "enum": [ - "INDEX_UPDATE_METHOD_UNSPECIFIED", - "BATCH_UPDATE", - "STREAM_UPDATE" - ] - }, - "encryptionSpec": { - "description": "Immutable. Customer-managed encryption key spec for an Index. If set, this Index and all sub-resources of this Index will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1DeployedIndexRef": { - "id": "GoogleCloudAiplatformV1DeployedIndexRef", - "description": "Points to a DeployedIndex.", - "type": "object", - "properties": { - "indexEndpoint": { - "description": "Immutable. A resource name of the IndexEndpoint.", - "type": "string" - }, - "deployedIndexId": { - "description": "Immutable. The ID of the DeployedIndex in the above IndexEndpoint.", - "type": "string" - }, - "displayName": { - "description": "Output only. The display name of the DeployedIndex.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1IndexStats": { - "id": "GoogleCloudAiplatformV1IndexStats", - "description": "Stats of the Index.", - "type": "object", - "properties": { - "vectorsCount": { - "description": "Output only. The number of dense vectors in the Index.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "sparseVectorsCount": { - "description": "Output only. The number of sparse vectors in the Index.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "shardsCount": { - "description": "Output only. The number of shards in the Index.", - "readOnly": true, - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ListIndexesResponse": { - "id": "GoogleCloudAiplatformV1ListIndexesResponse", - "description": "Response message for IndexService.ListIndexes.", - "type": "object", - "properties": { - "indexes": { - "description": "List of indexes in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Index" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListIndexesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UpsertDatapointsRequest": { - "id": "GoogleCloudAiplatformV1UpsertDatapointsRequest", - "description": "Request message for IndexService.UpsertDatapoints", - "type": "object", - "properties": { - "datapoints": { - "description": "A list of datapoints to be created/updated.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1IndexDatapoint" - } - }, - "updateMask": { - "description": "Optional. Update mask is used to specify the fields to be overwritten in the datapoints by the update. The fields specified in the update_mask are relative to each IndexDatapoint inside datapoints, not the full request. Updatable fields: * Use `all_restricts` to update both restricts and numeric_restricts.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "GoogleCloudAiplatformV1IndexDatapoint": { - "id": "GoogleCloudAiplatformV1IndexDatapoint", - "description": "A datapoint of Index.", - "type": "object", - "properties": { - "datapointId": { - "description": "Required. Unique identifier of the datapoint.", - "type": "string" - }, - "featureVector": { - "description": "Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "sparseEmbedding": { - "description": "Optional. Feature embedding vector for sparse index.", - "$ref": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding" - }, - "restricts": { - "description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses categorical tokens. See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1IndexDatapointRestriction" - } - }, - "numericRestricts": { - "description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses numeric comparisons.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction" - } - }, - "crowdingTag": { - "description": "Optional. CrowdingTag of the datapoint, the number of neighbors to return in each crowding can be configured during query.", - "$ref": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag" - }, - "embeddingMetadata": { - "description": "Optional. The key-value map of additional metadata for the datapoint.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - } - } - }, - "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding": { - "id": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", - "description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", - "type": "object", - "properties": { - "values": { - "description": "Required. The list of embedding values of the sparse vector.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "dimensions": { - "description": "Required. The list of indexes for the embedding values of the sparse vector.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - } - } - }, - "GoogleCloudAiplatformV1IndexDatapointRestriction": { - "id": "GoogleCloudAiplatformV1IndexDatapointRestriction", - "description": "Restriction of a datapoint which describe its attributes(tokens) from each of several attribute categories(namespaces).", - "type": "object", - "properties": { - "namespace": { - "description": "The namespace of this restriction. e.g.: color.", - "type": "string" - }, - "allowList": { - "description": "The attributes to allow in this namespace. e.g.: 'red'", - "type": "array", - "items": { - "type": "string" - } - }, - "denyList": { - "description": "The attributes to deny in this namespace. e.g.: 'blue'", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1IndexDatapointNumericRestriction": { - "id": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction", - "description": "This field allows restricts to be based on numeric comparisons rather than categorical tokens.", - "type": "object", - "properties": { - "valueInt": { - "description": "Represents 64 bit integer.", - "type": "string", - "format": "int64" - }, - "valueFloat": { - "description": "Represents 32 bit float.", - "type": "number", - "format": "float" - }, - "valueDouble": { - "description": "Represents 64 bit float.", - "type": "number", - "format": "double" - }, - "namespace": { - "description": "The namespace of this restriction. e.g.: cost.", - "type": "string" - }, - "op": { - "description": "This MUST be specified for queries and must NOT be specified for datapoints.", - "type": "string", - "enumDescriptions": [ - "Default value of the enum.", - "Datapoints are eligible iff their value is \u003c the query's.", - "Datapoints are eligible iff their value is \u003c= the query's.", - "Datapoints are eligible iff their value is == the query's.", - "Datapoints are eligible iff their value is \u003e= the query's.", - "Datapoints are eligible iff their value is \u003e the query's.", - "Datapoints are eligible iff their value is != the query's." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "LESS", - "LESS_EQUAL", - "EQUAL", - "GREATER_EQUAL", - "GREATER", - "NOT_EQUAL" - ] - } - } - }, - "GoogleCloudAiplatformV1IndexDatapointCrowdingTag": { - "id": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag", - "description": "Crowding tag is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute.", - "type": "object", - "properties": { - "crowdingAttribute": { - "description": "The attribute value used for crowding. The maximum number of neighbors to return per crowding attribute value (per_crowding_attribute_num_neighbors) is configured per-query. This field is ignored if per_crowding_attribute_num_neighbors is larger than the total number of neighbors to return for a given query.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UpsertDatapointsResponse": { - "id": "GoogleCloudAiplatformV1UpsertDatapointsResponse", - "description": "Response message for IndexService.UpsertDatapoints", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RemoveDatapointsRequest": { - "id": "GoogleCloudAiplatformV1RemoveDatapointsRequest", - "description": "Request message for IndexService.RemoveDatapoints", - "type": "object", - "properties": { - "datapointIds": { - "description": "A list of datapoint ids to be deleted.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RemoveDatapointsResponse": { - "id": "GoogleCloudAiplatformV1RemoveDatapointsResponse", - "description": "Response message for IndexService.RemoveDatapoints", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1IndexEndpoint": { - "id": "GoogleCloudAiplatformV1IndexEndpoint", - "description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the IndexEndpoint.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the IndexEndpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the IndexEndpoint.", - "type": "string" - }, - "deployedIndexes": { - "description": "Output only. The indexes deployed in this endpoint.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedIndex" - } - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this IndexEndpoint was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this IndexEndpoint was last updated. This timestamp is not updated when the endpoint's DeployedIndexes are updated, e.g. due to updates of the original Indexes they are the deployments of.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "network": { - "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the IndexEndpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. network and private_service_connect_config are mutually exclusive. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name.", - "type": "string" - }, - "enablePrivateServiceConnect": { - "description": "Optional. Deprecated: If true, expose the IndexEndpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", - "deprecated": true, - "type": "boolean" - }, - "privateServiceConnectConfig": { - "description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive.", - "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" - }, - "publicEndpointEnabled": { - "description": "Optional. If true, the deployed index will be accessible through public endpoint.", - "type": "boolean" - }, - "publicEndpointDomainName": { - "description": "Output only. If public_endpoint_enabled is true, this field will be populated with the domain name to use for this index endpoint.", - "readOnly": true, - "type": "string" - }, - "encryptionSpec": { - "description": "Immutable. Customer-managed encryption key spec for an IndexEndpoint. If set, this IndexEndpoint and all sub-resources of this IndexEndpoint will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1DeployedIndex": { - "id": "GoogleCloudAiplatformV1DeployedIndex", - "description": "A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.", - "type": "object", - "properties": { - "id": { - "description": "Required. The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.", - "type": "string" - }, - "index": { - "description": "Required. The name of the Index this is the deployment of. We may refer to this Index as the DeployedIndex's \"original\" Index.", - "type": "string" - }, - "displayName": { - "description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when the DeployedIndex was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "privateEndpoints": { - "description": "Output only. Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1IndexPrivateEndpoints" - }, - "indexSyncTime": { - "description": "Output only. The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with update_time equal or before this sync time are contained in this DeployedIndex.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "automaticResources": { - "description": "Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000.", - "$ref": "GoogleCloudAiplatformV1AutomaticResources" - }, - "dedicatedResources": { - "description": "Optional. A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field min_replica_count must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when min_replica_count=1. If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.", - "$ref": "GoogleCloudAiplatformV1DedicatedResources" - }, - "enableAccessLogging": { - "description": "Optional. If true, private endpoint's access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each MatchRequest. Note that logs may incur a cost, especially if the deployed index receives a high queries per second rate (QPS). Estimate your costs before enabling this option.", - "type": "boolean" - }, - "enableDatapointUpsertLogging": { - "description": "Optional. If true, logs to Cloud Logging errors relating to datapoint upserts. Under normal operation conditions, these log entries should be very rare. However, if incompatible datapoint updates are being uploaded to an index, a high volume of log entries may be generated in a short period of time. Note that logs may incur a cost, especially if the deployed index receives a high volume of datapoint upserts. Estimate your costs before enabling this option.", - "type": "boolean" - }, - "deployedIndexAuthConfig": { - "description": "Optional. If set, the authentication is enabled for the private endpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfig" - }, - "reservedIpRanges": { - "description": "Optional. A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.", - "type": "array", - "items": { - "type": "string" - } - }, - "deploymentGroup": { - "description": "Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default').", - "type": "string" - }, - "pscAutomationConfigs": { - "description": "Optional. If set for PSC deployed index, PSC connection will be automatically created after deployment is done and the endpoint information is populated in private_endpoints.psc_automated_endpoints.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PSCAutomationConfig" - } - } - } - }, - "GoogleCloudAiplatformV1IndexPrivateEndpoints": { - "id": "GoogleCloudAiplatformV1IndexPrivateEndpoints", - "description": "IndexPrivateEndpoints proto is used to provide paths for users to send requests via private endpoints (e.g. private service access, private service connect). To send request via private service access, use match_grpc_address. To send request via private service connect, use service_attachment.", - "type": "object", - "properties": { - "matchGrpcAddress": { - "description": "Output only. The ip address used to send match gRPC requests.", - "readOnly": true, - "type": "string" - }, - "serviceAttachment": { - "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", - "readOnly": true, - "type": "string" - }, - "pscAutomatedEndpoints": { - "description": "Output only. PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PscAutomatedEndpoints" - } - } - } - }, - "GoogleCloudAiplatformV1PscAutomatedEndpoints": { - "id": "GoogleCloudAiplatformV1PscAutomatedEndpoints", - "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", - "type": "object", - "properties": { - "projectId": { - "description": "Corresponding project_id in pscAutomationConfigs", - "type": "string" - }, - "network": { - "description": "Corresponding network in pscAutomationConfigs.", - "type": "string" - }, - "matchAddress": { - "description": "Ip Address created by the automated forwarding rule.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeployedIndexAuthConfig": { - "id": "GoogleCloudAiplatformV1DeployedIndexAuthConfig", - "description": "Used to set up the auth on the DeployedIndex's private endpoint.", - "type": "object", - "properties": { - "authProvider": { - "description": "Defines the authentication provider that the DeployedIndex uses.", - "$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider" - } - } - }, - "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider": { - "id": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider", - "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", - "type": "object", - "properties": { - "audiences": { - "description": "The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted.", - "type": "array", - "items": { - "type": "string" - } - }, - "allowedIssuers": { - "description": "A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: `service-account-name@project-id.iam.gserviceaccount.com`", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ListIndexEndpointsResponse": { - "id": "GoogleCloudAiplatformV1ListIndexEndpointsResponse", - "description": "Response message for IndexEndpointService.ListIndexEndpoints.", - "type": "object", - "properties": { - "indexEndpoints": { - "description": "List of IndexEndpoints in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1IndexEndpoint" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListIndexEndpointsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeployIndexRequest": { - "id": "GoogleCloudAiplatformV1DeployIndexRequest", - "description": "Request message for IndexEndpointService.DeployIndex.", - "type": "object", - "properties": { - "deployedIndex": { - "description": "Required. The DeployedIndex to be created within the IndexEndpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedIndex" - } - } - }, - "GoogleCloudAiplatformV1UndeployIndexRequest": { - "id": "GoogleCloudAiplatformV1UndeployIndexRequest", - "description": "Request message for IndexEndpointService.UndeployIndex.", - "type": "object", - "properties": { - "deployedIndexId": { - "description": "Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CustomJob": { - "id": "GoogleCloudAiplatformV1CustomJob", - "description": "Represents a job that runs custom workloads such as a Docker container or a Python package. A CustomJob can have multiple worker pools and each worker pool can have its own machine and input spec. A CustomJob will be cleaned up once the job enters terminal state (failed or succeeded).", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of a CustomJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the CustomJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "jobSpec": { - "description": "Required. Job spec.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "createTime": { - "description": "Output only. Time when the CustomJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the CustomJob for the first time entered the `JOB_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the CustomJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the CustomJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "error": { - "description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options for a CustomJob. If this is set, then all resources created by the CustomJob will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "webAccessUris": { - "description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1CustomJobSpec": { - "id": "GoogleCloudAiplatformV1CustomJobSpec", - "description": "Represents the spec of a CustomJob.", - "type": "object", - "properties": { - "persistentResourceId": { - "description": "Optional. The ID of the PersistentResource in the same Project and Location which to run If this is specified, the job will be run on existing machines held by the PersistentResource instead of on-demand short-live machines. The network and CMEK configs on the job should be consistent with those on the PersistentResource, otherwise, the job will be rejected.", - "type": "string" - }, - "workerPoolSpecs": { - "description": "Required. The spec of the worker pools including machine type and Docker image. All worker pools except the first one are optional and can be skipped by providing an empty value.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1WorkerPoolSpec" - } - }, - "scheduling": { - "description": "Scheduling options for a CustomJob.", - "$ref": "GoogleCloudAiplatformV1Scheduling" - }, - "serviceAccount": { - "description": "Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account. If unspecified, the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) for the CustomJob's project is used.", - "type": "string" - }, - "network": { - "description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the job is not peered with any network.", - "type": "string" - }, - "reservedIpRanges": { - "description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", - "type": "array", - "items": { - "type": "string" - } - }, - "pscInterfaceConfig": { - "description": "Optional. Configuration for PSC-I for CustomJob.", - "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" - }, - "baseOutputDirectory": { - "description": "The Cloud Storage location to store the output of this CustomJob or HyperparameterTuningJob. For HyperparameterTuningJob, the baseOutputDirectory of each child CustomJob backing a Trial is set to a subdirectory of name id under its parent HyperparameterTuningJob's baseOutputDirectory. The following Vertex AI environment variables will be passed to containers or python modules when this field is set: For CustomJob: * AIP_MODEL_DIR = `/model/` * AIP_CHECKPOINT_DIR = `/checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob backing a Trial of HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/` * AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `//logs/`", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "protectedArtifactLocationId": { - "description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", - "type": "string" - }, - "tensorboard": { - "description": "Optional. The name of a Vertex AI Tensorboard resource to which this CustomJob will upload Tensorboard logs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", - "type": "string" - }, - "enableWebAccess": { - "description": "Optional. Whether you want Vertex AI to enable [interactive shell access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) to training containers. If set to `true`, you can access interactive shells at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", - "type": "boolean" - }, - "enableDashboardAccess": { - "description": "Optional. Whether you want Vertex AI to enable access to the customized dashboard in training chief container. If set to `true`, you can access the dashboard at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", - "type": "boolean" - }, - "experiment": { - "description": "Optional. The Experiment associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}`", - "type": "string" - }, - "experimentRun": { - "description": "Optional. The Experiment Run associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}`", - "type": "string" - }, - "models": { - "description": "Optional. The name of the Model resources for which to generate a mapping to artifact URIs. Applicable only to some of the Google-provided custom jobs. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1WorkerPoolSpec": { - "id": "GoogleCloudAiplatformV1WorkerPoolSpec", - "description": "Represents the spec of a worker pool in a job.", - "type": "object", - "properties": { - "containerSpec": { - "description": "The custom container task.", - "$ref": "GoogleCloudAiplatformV1ContainerSpec" - }, - "pythonPackageSpec": { - "description": "The Python packaged task.", - "$ref": "GoogleCloudAiplatformV1PythonPackageSpec" - }, - "machineSpec": { - "description": "Optional. Immutable. The specification of a single machine.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "replicaCount": { - "description": "Optional. The number of worker replicas to use for this worker pool.", - "type": "string", - "format": "int64" - }, - "nfsMounts": { - "description": "Optional. List of NFS mount spec.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NfsMount" - } - }, - "diskSpec": { - "description": "Disk spec.", - "$ref": "GoogleCloudAiplatformV1DiskSpec" - } - } - }, - "GoogleCloudAiplatformV1ContainerSpec": { - "id": "GoogleCloudAiplatformV1ContainerSpec", - "description": "The spec of a Container.", - "type": "object", - "properties": { - "imageUri": { - "description": "Required. The URI of a container image in the Container Registry that is to be run on each worker replica.", - "type": "string" - }, - "command": { - "description": "The command to be invoked when the container is started. It overrides the entrypoint instruction in Dockerfile when provided.", - "type": "array", - "items": { - "type": "string" - } - }, - "args": { - "description": "The arguments to be passed when starting the container.", - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "description": "Environment variables to be passed to the container. Maximum limit is 100.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EnvVar" - } - } - } - }, - "GoogleCloudAiplatformV1EnvVar": { - "id": "GoogleCloudAiplatformV1EnvVar", - "description": "Represents an environment variable present in a Container or Python Module.", - "type": "object", - "properties": { - "name": { - "description": "Required. Name of the environment variable. Must be a valid C identifier.", - "type": "string" - }, - "value": { - "description": "Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PythonPackageSpec": { - "id": "GoogleCloudAiplatformV1PythonPackageSpec", - "description": "The spec of a Python packaged code.", - "type": "object", - "properties": { - "executorImageUri": { - "description": "Required. The URI of a container image in Artifact Registry that will run the provided Python package. Vertex AI provides a wide range of executor images with pre-installed packages to meet users' various use cases. See the list of [pre-built containers for training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). You must use an image from this list.", - "type": "string" - }, - "packageUris": { - "description": "Required. The Google Cloud Storage location of the Python package files which are the training program and its dependent packages. The maximum number of package URIs is 100.", - "type": "array", - "items": { - "type": "string" - } - }, - "pythonModule": { - "description": "Required. The Python module name to run after installing the packages.", - "type": "string" - }, - "args": { - "description": "Command line arguments to be passed to the Python task.", - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "description": "Environment variables to be passed to the python module. Maximum limit is 100.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EnvVar" - } - } - } - }, - "GoogleCloudAiplatformV1NfsMount": { - "id": "GoogleCloudAiplatformV1NfsMount", - "description": "Represents a mount configuration for Network File System (NFS) to mount.", - "type": "object", - "properties": { - "server": { - "description": "Required. IP address of the NFS server.", - "type": "string" - }, - "path": { - "description": "Required. Source path exported from NFS server. Has to start with '/', and combined with the ip address, it indicates the source mount path in the form of `server:path`", - "type": "string" - }, - "mountPoint": { - "description": "Required. Destination mount path. The NFS will be mounted for the user under /mnt/nfs/", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DiskSpec": { - "id": "GoogleCloudAiplatformV1DiskSpec", - "description": "Represents the spec of disk options.", - "type": "object", - "properties": { - "bootDiskType": { - "description": "Type of the boot disk. For non-A3U machines, the default value is \"pd-ssd\", for A3U machines, the default value is \"hyperdisk-balanced\". Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive), \"pd-standard\" (Persistent Disk Hard Disk Drive) or \"hyperdisk-balanced\".", - "type": "string" - }, - "bootDiskSizeGb": { - "description": "Size in GB of the boot disk (default is 100GB).", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1Scheduling": { - "id": "GoogleCloudAiplatformV1Scheduling", - "description": "All parameters related to queuing and scheduling of custom jobs.", - "type": "object", - "properties": { - "timeout": { - "description": "Optional. The maximum job running time. The default is 7 days.", - "type": "string", - "format": "google-duration" - }, - "restartJobOnWorkerRestart": { - "description": "Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", - "type": "boolean" - }, - "strategy": { - "description": "Optional. This determines which type of scheduling strategy to use.", - "type": "string", - "enumDescriptions": [ - "Strategy will default to STANDARD.", - "Deprecated. Regular on-demand provisioning strategy.", - "Deprecated. Low cost by making potential use of spot resources.", - "Standard provisioning strategy uses regular on-demand resources.", - "Spot provisioning strategy uses spot resources.", - "Flex Start strategy uses DWS to queue for resources." - ], - "enumDeprecated": [ - false, - true, - true, - false, - false, - false - ], - "enum": [ - "STRATEGY_UNSPECIFIED", - "ON_DEMAND", - "LOW_COST", - "STANDARD", - "SPOT", - "FLEX_START" - ] - }, - "disableRetries": { - "description": "Optional. Indicates if the job should retry for internal errors after the job starts running. If true, overrides `Scheduling.restart_job_on_worker_restart` to false.", - "type": "boolean" - }, - "maxWaitDuration": { - "description": "Optional. This is the maximum duration that a job will wait for the requested resources to be provisioned if the scheduling strategy is set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait indefinitely. The default is 24 hours.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1PscInterfaceConfig": { - "id": "GoogleCloudAiplatformV1PscInterfaceConfig", - "description": "Configuration for PSC-I.", - "type": "object", - "properties": { - "networkAttachment": { - "description": "Optional. The name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.", - "type": "string" - }, - "dnsPeeringConfigs": { - "description": "Optional. DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DnsPeeringConfig" - } - } - } - }, - "GoogleCloudAiplatformV1DnsPeeringConfig": { - "id": "GoogleCloudAiplatformV1DnsPeeringConfig", - "description": "DNS peering configuration. These configurations are used to create DNS peering zones in the Vertex tenant project VPC, enabling resolution of records within the specified domain hosted in the target network's Cloud DNS.", - "type": "object", - "properties": { - "domain": { - "description": "Required. The DNS name suffix of the zone being peered to, e.g., \"my-internal-domain.corp.\". Must end with a dot.", - "type": "string" - }, - "targetProject": { - "description": "Required. The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.", - "type": "string" - }, - "targetNetwork": { - "description": "Required. The VPC network name in the target_project where the DNS zone specified by 'domain' is visible.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListCustomJobsResponse": { - "id": "GoogleCloudAiplatformV1ListCustomJobsResponse", - "description": "Response message for JobService.ListCustomJobs", - "type": "object", - "properties": { - "customJobs": { - "description": "List of CustomJobs in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1CustomJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListCustomJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelCustomJobRequest": { - "id": "GoogleCloudAiplatformV1CancelCustomJobRequest", - "description": "Request message for JobService.CancelCustomJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1DataLabelingJob": { - "id": "GoogleCloudAiplatformV1DataLabelingJob", - "description": "DataLabelingJob is used to trigger a human labeling job on unlabeled data from the following Dataset:", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the DataLabelingJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the DataLabelingJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a DataLabelingJob.", - "type": "string" - }, - "datasets": { - "description": "Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "type": "array", - "items": { - "type": "string" - } - }, - "annotationLabels": { - "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labelerCount": { - "description": "Required. Number of labelers to work on each DataItem.", - "type": "integer", - "format": "int32" - }, - "instructionUri": { - "description": "Required. The Google Cloud Storage location of the instruction pdf. This pdf is shared with labelers, and provides detailed description on how to label DataItems in Datasets.", - "type": "string" - }, - "inputsSchemaUri": { - "description": "Required. Points to a YAML file stored on Google Cloud Storage describing the config for a specific type of DataLabelingJob. The schema files that can be used here are found in the https://storage.googleapis.com/google-cloud-aiplatform bucket in the /schema/datalabelingjob/inputs/ folder.", - "type": "string" - }, - "inputs": { - "description": "Required. Input config parameters for the DataLabelingJob.", - "type": "any" - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "labelingProgress": { - "description": "Output only. Current labeling job progress percentage scaled in interval [0, 100], indicating the percentage of DataItems that has been finished.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "currentSpend": { - "description": "Output only. Estimated cost(in US dollars) that the DataLabelingJob has incurred to date.", - "readOnly": true, - "$ref": "GoogleTypeMoney" - }, - "createTime": { - "description": "Output only. Timestamp when this DataLabelingJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this DataLabelingJob was updated most recently.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "error": { - "description": "Output only. DataLabelingJob errors. It is only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "specialistPools": { - "description": "The SpecialistPools' resource names associated with this job.", - "type": "array", - "items": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a DataLabelingJob. If set, this DataLabelingJob will be secured by this key. Note: Annotations created in the DataLabelingJob are associated with the EncryptionSpec of the Dataset they are exported to.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "activeLearningConfig": { - "description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally via several iterations. For every iteration, it will select a batch of data based on the sampling strategy.", - "$ref": "GoogleCloudAiplatformV1ActiveLearningConfig" - } - } - }, - "GoogleTypeMoney": { - "id": "GoogleTypeMoney", - "description": "Represents an amount of money with its currency type.", - "type": "object", - "properties": { - "currencyCode": { - "description": "The three-letter currency code defined in ISO 4217.", - "type": "string" - }, - "units": { - "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", - "type": "string", - "format": "int64" - }, - "nanos": { - "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ActiveLearningConfig": { - "id": "GoogleCloudAiplatformV1ActiveLearningConfig", - "description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally by several iterations. For every iteration, it will select a batch of data based on the sampling strategy.", - "type": "object", - "properties": { - "maxDataItemCount": { - "description": "Max number of human labeled DataItems.", - "type": "string", - "format": "int64" - }, - "maxDataItemPercentage": { - "description": "Max percent of total DataItems for human labeling.", - "type": "integer", - "format": "int32" - }, - "sampleConfig": { - "description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", - "$ref": "GoogleCloudAiplatformV1SampleConfig" - }, - "trainingConfig": { - "description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems.", - "$ref": "GoogleCloudAiplatformV1TrainingConfig" - } - } - }, - "GoogleCloudAiplatformV1SampleConfig": { - "id": "GoogleCloudAiplatformV1SampleConfig", - "description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", - "type": "object", - "properties": { - "initialBatchSamplePercentage": { - "description": "The percentage of data needed to be labeled in the first batch.", - "type": "integer", - "format": "int32" - }, - "followingBatchSamplePercentage": { - "description": "The percentage of data needed to be labeled in each following batch (except the first batch).", - "type": "integer", - "format": "int32" - }, - "sampleStrategy": { - "description": "Field to choose sampling strategy. Sampling strategy will decide which data should be selected for human labeling in every batch.", - "type": "string", - "enumDescriptions": [ - "Default will be treated as UNCERTAINTY.", - "Sample the most uncertain data to label." - ], - "enum": [ - "SAMPLE_STRATEGY_UNSPECIFIED", - "UNCERTAINTY" - ] - } - } - }, - "GoogleCloudAiplatformV1TrainingConfig": { - "id": "GoogleCloudAiplatformV1TrainingConfig", - "description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems.", - "type": "object", - "properties": { - "timeoutTrainingMilliHours": { - "description": "The timeout hours for the CMLE training job, expressed in milli hours i.e. 1,000 value in this field means 1 hour.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ListDataLabelingJobsResponse": { - "id": "GoogleCloudAiplatformV1ListDataLabelingJobsResponse", - "description": "Response message for JobService.ListDataLabelingJobs.", - "type": "object", - "properties": { - "dataLabelingJobs": { - "description": "A list of DataLabelingJobs that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DataLabelingJob" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelDataLabelingJobRequest": { - "id": "GoogleCloudAiplatformV1CancelDataLabelingJobRequest", - "description": "Request message for JobService.CancelDataLabelingJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1HyperparameterTuningJob": { - "id": "GoogleCloudAiplatformV1HyperparameterTuningJob", - "description": "Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification and multiple CustomJobs with identical CustomJob specification.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the HyperparameterTuningJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the HyperparameterTuningJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "studySpec": { - "description": "Required. Study configuration of the HyperparameterTuningJob.", - "$ref": "GoogleCloudAiplatformV1StudySpec" - }, - "maxTrialCount": { - "description": "Required. The desired total number of Trials.", - "type": "integer", - "format": "int32" - }, - "parallelTrialCount": { - "description": "Required. The desired number of Trials to run in parallel.", - "type": "integer", - "format": "int32" - }, - "maxFailedTrialCount": { - "description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", - "type": "integer", - "format": "int32" - }, - "trialJobSpec": { - "description": "Required. The spec of a trial job. The same spec applies to the CustomJobs created in all the trials.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "trials": { - "description": "Output only. Trials of the HyperparameterTuningJob.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Trial" - } - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "createTime": { - "description": "Output only. Time when the HyperparameterTuningJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the HyperparameterTuningJob for the first time entered the `JOB_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the HyperparameterTuningJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the HyperparameterTuningJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "error": { - "description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options for a HyperparameterTuningJob. If this is set, then all resources created by the HyperparameterTuningJob will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1StudySpec": { - "id": "GoogleCloudAiplatformV1StudySpec", - "description": "Represents specification of a Study.", - "type": "object", - "properties": { - "decayCurveStoppingSpec": { - "description": "The automated early stopping spec using decay curve rule.", - "$ref": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec" - }, - "medianAutomatedStoppingSpec": { - "description": "The automated early stopping spec using median rule.", - "$ref": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec" - }, - "convexAutomatedStoppingSpec": { - "description": "The automated early stopping spec using convex stopping rule.", - "$ref": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec" - }, - "metrics": { - "description": "Required. Metric specs for the Study.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1StudySpecMetricSpec" - } - }, - "parameters": { - "description": "Required. The set of parameters to tune.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec" - } - }, - "algorithm": { - "description": "The search algorithm specified for the Study.", - "type": "string", - "enumDescriptions": [ - "The default algorithm used by Vertex AI for [hyperparameter tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier).", - "Simple grid search within the feasible space. To use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.", - "Simple random search within the feasible space." - ], - "enum": [ - "ALGORITHM_UNSPECIFIED", - "GRID_SEARCH", - "RANDOM_SEARCH" - ] - }, - "observationNoise": { - "description": "The observation noise level of the study. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", - "type": "string", - "enumDescriptions": [ - "The default noise level chosen by Vertex AI.", - "Vertex AI assumes that the objective function is (nearly) perfectly reproducible, and will never repeat the same Trial parameters.", - "Vertex AI will estimate the amount of noise in metric evaluations, it may repeat the same Trial parameters more than once." - ], - "enum": [ - "OBSERVATION_NOISE_UNSPECIFIED", - "LOW", - "HIGH" - ] - }, - "measurementSelectionType": { - "description": "Describe which measurement selection type will be used", - "type": "string", - "enumDescriptions": [ - "Will be treated as LAST_MEASUREMENT.", - "Use the last measurement reported.", - "Use the best measurement reported." - ], - "enum": [ - "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", - "LAST_MEASUREMENT", - "BEST_MEASUREMENT" - ] - }, - "studyStoppingConfig": { - "description": "Conditions for automated stopping of a Study. Enable automated stopping by configuring at least one condition.", - "$ref": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig" - } - } - }, - "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec": { - "id": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec", - "description": "The decay curve automated stopping rule builds a Gaussian Process Regressor to predict the final objective value of a Trial based on the already completed Trials and the intermediate measurements of the current Trial. Early stopping is requested for the current Trial if there is very low probability to exceed the optimal value found so far.", - "type": "object", - "properties": { - "useElapsedDuration": { - "description": "True if Measurement.elapsed_duration is used as the x-axis of each Trials Decay Curve. Otherwise, Measurement.step_count will be used as the x-axis.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec": { - "id": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec", - "description": "The median automated stopping rule stops a pending Trial if the Trial's best objective_value is strictly below the median 'performance' of all completed Trials reported up to the Trial's last measurement. Currently, 'performance' refers to the running average of the objective values reported by the Trial in each measurement.", - "type": "object", - "properties": { - "useElapsedDuration": { - "description": "True if median automated stopping rule applies on Measurement.elapsed_duration. It means that elapsed_duration field of latest measurement of current Trial is used to compute median objective value for each completed Trials.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec": { - "id": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec", - "description": "Configuration for ConvexAutomatedStoppingSpec. When there are enough completed trials (configured by min_measurement_count), for pending trials with enough measurements and steps, the policy first computes an overestimate of the objective value at max_num_steps according to the slope of the incomplete objective value curve. No prediction can be made if the curve is completely flat. If the overestimation is worse than the best objective value of the completed trials, this pending trial will be early-stopped, but a last measurement will be added to the pending trial with max_num_steps and predicted objective value from the autoregression model.", - "type": "object", - "properties": { - "maxStepCount": { - "description": "Steps used in predicting the final objective for early stopped trials. In general, it's set to be the same as the defined steps in training / tuning. If not defined, it will learn it from the completed trials. When use_steps is false, this field is set to the maximum elapsed seconds.", - "type": "string", - "format": "int64" - }, - "minStepCount": { - "description": "Minimum number of steps for a trial to complete. Trials which do not have a measurement with step_count \u003e min_step_count won't be considered for early stopping. It's ok to set it to 0, and a trial can be early stopped at any stage. By default, min_step_count is set to be one-tenth of the max_step_count. When use_elapsed_duration is true, this field is set to the minimum elapsed seconds.", - "type": "string", - "format": "int64" - }, - "minMeasurementCount": { - "description": "The minimal number of measurements in a Trial. Early-stopping checks will not trigger if less than min_measurement_count+1 completed trials or pending trials with less than min_measurement_count measurements. If not defined, the default value is 5.", - "type": "string", - "format": "int64" - }, - "learningRateParameterName": { - "description": "The hyper-parameter name used in the tuning job that stands for learning rate. Leave it blank if learning rate is not in a parameter in tuning. The learning_rate is used to estimate the objective value of the ongoing trial.", - "type": "string" - }, - "useElapsedDuration": { - "description": "This bool determines whether or not the rule is applied based on elapsed_secs or steps. If use_elapsed_duration==false, the early stopping decision is made according to the predicted objective values according to the target steps. If use_elapsed_duration==true, elapsed_secs is used instead of steps. Also, in this case, the parameters max_num_steps and min_num_steps are overloaded to contain max_elapsed_seconds and min_elapsed_seconds.", - "type": "boolean" - }, - "updateAllStoppedTrials": { - "description": "ConvexAutomatedStoppingSpec by default only updates the trials that needs to be early stopped using a newly trained auto-regressive model. When this flag is set to True, all stopped trials from the beginning are potentially updated in terms of their `final_measurement`. Also, note that the training logic of autoregressive models is different in this case. Enabling this option has shown better results and this may be the default option in the future.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1StudySpecMetricSpec": { - "id": "GoogleCloudAiplatformV1StudySpecMetricSpec", - "description": "Represents a metric to optimize.", - "type": "object", - "properties": { - "metricId": { - "description": "Required. The ID of the metric. Must not contain whitespaces and must be unique amongst all MetricSpecs.", - "type": "string" - }, - "goal": { - "description": "Required. The optimization goal of the metric.", - "type": "string", - "enumDescriptions": [ - "Goal Type will default to maximize.", - "Maximize the goal metric.", - "Minimize the goal metric." - ], - "enum": [ - "GOAL_TYPE_UNSPECIFIED", - "MAXIMIZE", - "MINIMIZE" - ] - }, - "safetyConfig": { - "description": "Used for safe search. In the case, the metric will be a safety metric. You must provide a separate metric for objective metric.", - "$ref": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig" - } - } - }, - "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig": { - "id": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig", - "description": "Used in safe optimization to specify threshold levels and risk tolerance.", - "type": "object", - "properties": { - "safetyThreshold": { - "description": "Safety threshold (boundary value between safe and unsafe). NOTE that if you leave SafetyMetricConfig unset, a default value of 0 will be used.", - "type": "number", - "format": "double" - }, - "desiredMinSafeTrialsFraction": { - "description": "Desired minimum fraction of safe trials (over total number of trials) that should be targeted by the algorithm at any time during the study (best effort). This should be between 0.0 and 1.0 and a value of 0.0 means that there is no minimum and an algorithm proceeds without targeting any specific fraction. A value of 1.0 means that the algorithm attempts to only Suggest safe Trials.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpec", - "description": "Represents a single parameter to optimize.", - "type": "object", - "properties": { - "doubleValueSpec": { - "description": "The value spec for a 'DOUBLE' parameter.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec" - }, - "integerValueSpec": { - "description": "The value spec for an 'INTEGER' parameter.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec" - }, - "categoricalValueSpec": { - "description": "The value spec for a 'CATEGORICAL' parameter.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec" - }, - "discreteValueSpec": { - "description": "The value spec for a 'DISCRETE' parameter.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec" - }, - "parameterId": { - "description": "Required. The ID of the parameter. Must not contain whitespaces and must be unique amongst all ParameterSpecs.", - "type": "string" - }, - "scaleType": { - "description": "How the parameter should be scaled. Leave unset for `CATEGORICAL` parameters.", - "type": "string", - "enumDescriptions": [ - "By default, no scaling is applied.", - "Scales the feasible space to (0, 1) linearly.", - "Scales the feasible space logarithmically to (0, 1). The entire feasible space must be strictly positive.", - "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result is that values close to the top of the feasible space are spread out more than points near the bottom. The entire feasible space must be strictly positive." - ], - "enum": [ - "SCALE_TYPE_UNSPECIFIED", - "UNIT_LINEAR_SCALE", - "UNIT_LOG_SCALE", - "UNIT_REVERSE_LOG_SCALE" - ] - }, - "conditionalParameterSpecs": { - "description": "A conditional parameter node is active if the parameter's value matches the conditional node's parent_value_condition. If two items in conditional_parameter_specs have the same name, they must have disjoint parent_value_condition.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec" - } - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec", - "description": "Value specification for a parameter in `DOUBLE` type.", - "type": "object", - "properties": { - "minValue": { - "description": "Required. Inclusive minimum value of the parameter.", - "type": "number", - "format": "double" - }, - "maxValue": { - "description": "Required. Inclusive maximum value of the parameter.", - "type": "number", - "format": "double" - }, - "defaultValue": { - "description": "A default value for a `DOUBLE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec", - "description": "Value specification for a parameter in `INTEGER` type.", - "type": "object", - "properties": { - "minValue": { - "description": "Required. Inclusive minimum value of the parameter.", - "type": "string", - "format": "int64" - }, - "maxValue": { - "description": "Required. Inclusive maximum value of the parameter.", - "type": "string", - "format": "int64" - }, - "defaultValue": { - "description": "A default value for an `INTEGER` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec", - "description": "Value specification for a parameter in `CATEGORICAL` type.", - "type": "object", - "properties": { - "values": { - "description": "Required. The list of possible categories.", - "type": "array", - "items": { - "type": "string" - } - }, - "defaultValue": { - "description": "A default value for a `CATEGORICAL` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec", - "description": "Value specification for a parameter in `DISCRETE` type.", - "type": "object", - "properties": { - "values": { - "description": "Required. A list of possible values. The list should be in increasing order and at least 1e-10 apart. For instance, this parameter might have possible settings of 1.5, 2.5, and 4.0. This list should not contain more than 1,000 values.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "defaultValue": { - "description": "A default value for a `DISCRETE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. It automatically rounds to the nearest feasible discrete point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec", - "description": "Represents a parameter spec with condition from its parent parameter.", - "type": "object", - "properties": { - "parentDiscreteValues": { - "description": "The spec for matching values from a parent parameter of `DISCRETE` type.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition" - }, - "parentIntValues": { - "description": "The spec for matching values from a parent parameter of `INTEGER` type.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition" - }, - "parentCategoricalValues": { - "description": "The spec for matching values from a parent parameter of `CATEGORICAL` type.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition" - }, - "parameterSpec": { - "description": "Required. The spec for a conditional parameter.", - "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec" - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", - "description": "Represents the spec to match discrete values from parent parameter.", - "type": "object", - "properties": { - "values": { - "description": "Required. Matches values of the parent parameter of 'DISCRETE' type. All values must exist in `discrete_value_spec` of parent parameter. The Epsilon of the value matching is 1e-10.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", - "description": "Represents the spec to match integer values from parent parameter.", - "type": "object", - "properties": { - "values": { - "description": "Required. Matches values of the parent parameter of 'INTEGER' type. All values must lie in `integer_value_spec` of parent parameter.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - } - } - }, - "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition": { - "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", - "description": "Represents the spec to match categorical values from parent parameter.", - "type": "object", - "properties": { - "values": { - "description": "Required. Matches values of the parent parameter of 'CATEGORICAL' type. All values must exist in `categorical_value_spec` of parent parameter.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig": { - "id": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig", - "description": "The configuration (stopping conditions) for automated stopping of a Study. Conditions include trial budgets, time budgets, and convergence detection.", - "type": "object", - "properties": { - "shouldStopAsap": { - "description": "If true, a Study enters STOPPING_ASAP whenever it would normally enters STOPPING state. The bottom line is: set to true if you want to interrupt on-going evaluations of Trials as soon as the study stopping condition is met. (Please see Study.State documentation for the source of truth).", - "type": "boolean" - }, - "minimumRuntimeConstraint": { - "description": "Each \"stopping rule\" in this proto specifies an \"if\" condition. Before Vizier would generate a new suggestion, it first checks each specified stopping rule, from top to bottom in this list. Note that the first few rules (e.g. minimum_runtime_constraint, min_num_trials) will prevent other stopping rules from being evaluated until they are met. For example, setting `min_num_trials=5` and `always_stop_after= 1 hour` means that the Study will ONLY stop after it has 5 COMPLETED trials, even if more than an hour has passed since its creation. It follows the first applicable rule (whose \"if\" condition is satisfied) to make a stopping decision. If none of the specified rules are applicable, then Vizier decides that the study should not stop. If Vizier decides that the study should stop, the study enters STOPPING state (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The automatic study state transition happens precisely as described above; that is, deleting trials or updating StudyConfig NEVER automatically moves the study state back to ACTIVE. If you want to _resume_ a Study that was stopped, 1) change the stopping conditions if necessary, 2) activate the study, and then 3) ask for suggestions. If the specified time or duration has not passed, do not stop the study.", - "$ref": "GoogleCloudAiplatformV1StudyTimeConstraint" - }, - "maximumRuntimeConstraint": { - "description": "If the specified time or duration has passed, stop the study.", - "$ref": "GoogleCloudAiplatformV1StudyTimeConstraint" - }, - "minNumTrials": { - "description": "If there are fewer than this many COMPLETED trials, do not stop the study.", - "type": "integer", - "format": "int32" - }, - "maxNumTrials": { - "description": "If there are more than this many trials, stop the study.", - "type": "integer", - "format": "int32" - }, - "maxNumTrialsNoProgress": { - "description": "If the objective value has not improved for this many consecutive trials, stop the study. WARNING: Effective only for single-objective studies.", - "type": "integer", - "format": "int32" - }, - "maxDurationNoProgress": { - "description": "If the objective value has not improved for this much time, stop the study. WARNING: Effective only for single-objective studies.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1StudyTimeConstraint": { - "id": "GoogleCloudAiplatformV1StudyTimeConstraint", - "description": "Time-based Constraint for Study", - "type": "object", - "properties": { - "maxDuration": { - "description": "Counts the wallclock time passed since the creation of this Study.", - "type": "string", - "format": "google-duration" - }, - "endTime": { - "description": "Compares the wallclock time to this time. Must use UTC timezone.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1Trial": { - "id": "GoogleCloudAiplatformV1Trial", - "description": "A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the Trial assigned by the service.", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Output only. The identifier of the Trial assigned by the service.", - "readOnly": true, - "type": "string" - }, - "state": { - "description": "Output only. The detailed state of the Trial.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The Trial state is unspecified.", - "Indicates that a specific Trial has been requested, but it has not yet been suggested by the service.", - "Indicates that the Trial has been suggested.", - "Indicates that the Trial should stop according to the service.", - "Indicates that the Trial is completed successfully.", - "Indicates that the Trial should not be attempted again. The service will set a Trial to INFEASIBLE when it's done but missing the final_measurement." - ], - "enum": [ - "STATE_UNSPECIFIED", - "REQUESTED", - "ACTIVE", - "STOPPING", - "SUCCEEDED", - "INFEASIBLE" - ] - }, - "parameters": { - "description": "Output only. The parameters of the Trial.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrialParameter" - } - }, - "finalMeasurement": { - "description": "Output only. The final measurement containing the objective value.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Measurement" - }, - "measurements": { - "description": "Output only. A list of measurements that are strictly lexicographically ordered by their induced tuples (steps, elapsed_duration). These are used for early stopping computations.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Measurement" - } - }, - "startTime": { - "description": "Output only. Time when the Trial was started.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "clientId": { - "description": "Output only. The identifier of the client that originally requested this Trial. Each client is identified by a unique client_id. When a client asks for a suggestion, Vertex AI Vizier will assign it a Trial. The client should evaluate the Trial, complete it, and report back to Vertex AI Vizier. If suggestion is asked again by same client_id before the Trial is completed, the same Trial will be returned. Multiple clients with different client_ids can ask for suggestions simultaneously, each of them will get their own Trial.", - "readOnly": true, - "type": "string" - }, - "infeasibleReason": { - "description": "Output only. A human readable string describing why the Trial is infeasible. This is set only if Trial state is `INFEASIBLE`.", - "readOnly": true, - "type": "string" - }, - "customJob": { - "description": "Output only. The CustomJob name linked to the Trial. It's set for a HyperparameterTuningJob's Trial.", - "readOnly": true, - "type": "string" - }, - "webAccessUris": { - "description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1TrialParameter": { - "id": "GoogleCloudAiplatformV1TrialParameter", - "description": "A message representing a parameter to be tuned.", - "type": "object", - "properties": { - "parameterId": { - "description": "Output only. The ID of the parameter. The parameter should be defined in StudySpec's Parameters.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Output only. The value of the parameter. `number_value` will be set if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. `string_value` will be set if a parameter defined in StudySpec is in type 'CATEGORICAL'.", - "readOnly": true, - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1Measurement": { - "id": "GoogleCloudAiplatformV1Measurement", - "description": "A message representing a Measurement of a Trial. A Measurement contains the Metrics got by executing a Trial using suggested hyperparameter values.", - "type": "object", - "properties": { - "elapsedDuration": { - "description": "Output only. Time that the Trial has been running at the point of this Measurement.", - "readOnly": true, - "type": "string", - "format": "google-duration" - }, - "stepCount": { - "description": "Output only. The number of steps the machine learning model has been trained for. Must be non-negative.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "metrics": { - "description": "Output only. A list of metrics got by evaluating the objective functions using suggested Parameter values.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MeasurementMetric" - } - } - } - }, - "GoogleCloudAiplatformV1MeasurementMetric": { - "id": "GoogleCloudAiplatformV1MeasurementMetric", - "description": "A message representing a metric in the measurement.", - "type": "object", - "properties": { - "metricId": { - "description": "Output only. The ID of the Metric. The Metric should be defined in StudySpec's Metrics.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Output only. The value for this metric.", - "readOnly": true, - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse": { - "id": "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse", - "description": "Response message for JobService.ListHyperparameterTuningJobs", - "type": "object", - "properties": { - "hyperparameterTuningJobs": { - "description": "List of HyperparameterTuningJobs in the requested page. HyperparameterTuningJob.trials of the jobs will be not be returned.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListHyperparameterTuningJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest": { - "id": "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest", - "description": "Request message for JobService.CancelHyperparameterTuningJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1NasJob": { - "id": "GoogleCloudAiplatformV1NasJob", - "description": "Represents a Neural Architecture Search (NAS) job.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the NasJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the NasJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "nasJobSpec": { - "description": "Required. The specification of a NasJob.", - "$ref": "GoogleCloudAiplatformV1NasJobSpec" - }, - "nasJobOutput": { - "description": "Output only. Output of the NasJob.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NasJobOutput" - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "createTime": { - "description": "Output only. Time when the NasJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the NasJob for the first time entered the `JOB_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the NasJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the NasJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "error": { - "description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options for a NasJob. If this is set, then all resources created by the NasJob will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "enableRestrictedImageTraining": { - "description": "Optional. Enable a separation of Custom model training and restricted image training for tenant project.", - "deprecated": true, - "type": "boolean" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1NasJobSpec": { - "id": "GoogleCloudAiplatformV1NasJobSpec", - "description": "Represents the spec of a NasJob.", - "type": "object", - "properties": { - "multiTrialAlgorithmSpec": { - "description": "The spec of multi-trial algorithms.", - "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec" - }, - "resumeNasJobId": { - "description": "The ID of the existing NasJob in the same Project and Location which will be used to resume search. search_space_spec and nas_algorithm_spec are obtained from previous NasJob hence should not provide them again for this NasJob.", - "type": "string" - }, - "searchSpaceSpec": { - "description": "It defines the search space for Neural Architecture Search (NAS).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec": { - "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec", - "description": "The spec of multi-trial Neural Architecture Search (NAS).", - "type": "object", - "properties": { - "multiTrialAlgorithm": { - "description": "The multi-trial Neural Architecture Search (NAS) algorithm type. Defaults to `REINFORCEMENT_LEARNING`.", - "type": "string", - "enumDescriptions": [ - "Defaults to `REINFORCEMENT_LEARNING`.", - "The Reinforcement Learning Algorithm for Multi-trial Neural Architecture Search (NAS).", - "The Grid Search Algorithm for Multi-trial Neural Architecture Search (NAS)." - ], - "enum": [ - "MULTI_TRIAL_ALGORITHM_UNSPECIFIED", - "REINFORCEMENT_LEARNING", - "GRID_SEARCH" - ] - }, - "metric": { - "description": "Metric specs for the NAS job. Validation for this field is done at `multi_trial_algorithm_spec` field.", - "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec" - }, - "searchTrialSpec": { - "description": "Required. Spec for search trials.", - "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec" - }, - "trainTrialSpec": { - "description": "Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched.", - "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec" - } - } - }, - "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec": { - "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", - "description": "Represents a metric to optimize.", - "type": "object", - "properties": { - "metricId": { - "description": "Required. The ID of the metric. Must not contain whitespaces.", - "type": "string" - }, - "goal": { - "description": "Required. The optimization goal of the metric.", - "type": "string", - "enumDescriptions": [ - "Goal Type will default to maximize.", - "Maximize the goal metric.", - "Minimize the goal metric." - ], - "enum": [ - "GOAL_TYPE_UNSPECIFIED", - "MAXIMIZE", - "MINIMIZE" - ] - } - } - }, - "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec": { - "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", - "description": "Represent spec for search trials.", - "type": "object", - "properties": { - "searchTrialJobSpec": { - "description": "Required. The spec of a search trial job. The same spec applies to all search trials.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "maxTrialCount": { - "description": "Required. The maximum number of Neural Architecture Search (NAS) trials to run.", - "type": "integer", - "format": "int32" - }, - "maxParallelTrialCount": { - "description": "Required. The maximum number of trials to run in parallel.", - "type": "integer", - "format": "int32" - }, - "maxFailedTrialCount": { - "description": "The number of failed trials that need to be seen before failing the NasJob. If set to 0, Vertex AI decides how many trials must fail before the whole job fails.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec": { - "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", - "description": "Represent spec for train trials.", - "type": "object", - "properties": { - "trainTrialJobSpec": { - "description": "Required. The spec of a train trial job. The same spec applies to all train trials.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "maxParallelTrialCount": { - "description": "Required. The maximum number of trials to run in parallel.", - "type": "integer", - "format": "int32" - }, - "frequency": { - "description": "Required. Frequency of search trials to start train stage. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1NasJobOutput": { - "id": "GoogleCloudAiplatformV1NasJobOutput", - "description": "Represents a uCAIP NasJob output.", - "type": "object", - "properties": { - "multiTrialJobOutput": { - "description": "Output only. The output of this multi-trial Neural Architecture Search (NAS) job.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput" - } - } - }, - "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput": { - "id": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput", - "description": "The output of a multi-trial Neural Architecture Search (NAS) jobs.", - "type": "object", - "properties": { - "searchTrials": { - "description": "Output only. List of NasTrials that were started as part of search stage.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NasTrial" - } - }, - "trainTrials": { - "description": "Output only. List of NasTrials that were started as part of train stage.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NasTrial" - } - } - } - }, - "GoogleCloudAiplatformV1NasTrial": { - "id": "GoogleCloudAiplatformV1NasTrial", - "description": "Represents a uCAIP NasJob trial.", - "type": "object", - "properties": { - "id": { - "description": "Output only. The identifier of the NasTrial assigned by the service.", - "readOnly": true, - "type": "string" - }, - "state": { - "description": "Output only. The detailed state of the NasTrial.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The NasTrial state is unspecified.", - "Indicates that a specific NasTrial has been requested, but it has not yet been suggested by the service.", - "Indicates that the NasTrial has been suggested.", - "Indicates that the NasTrial should stop according to the service.", - "Indicates that the NasTrial is completed successfully.", - "Indicates that the NasTrial should not be attempted again. The service will set a NasTrial to INFEASIBLE when it's done but missing the final_measurement." - ], - "enum": [ - "STATE_UNSPECIFIED", - "REQUESTED", - "ACTIVE", - "STOPPING", - "SUCCEEDED", - "INFEASIBLE" - ] - }, - "finalMeasurement": { - "description": "Output only. The final measurement containing the objective value.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Measurement" - }, - "startTime": { - "description": "Output only. Time when the NasTrial was started.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the NasTrial's status changed to `SUCCEEDED` or `INFEASIBLE`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1ListNasJobsResponse": { - "id": "GoogleCloudAiplatformV1ListNasJobsResponse", - "description": "Response message for JobService.ListNasJobs", - "type": "object", - "properties": { - "nasJobs": { - "description": "List of NasJobs in the requested page. NasJob.nas_job_output of the jobs will not be returned.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NasJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListNasJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelNasJobRequest": { - "id": "GoogleCloudAiplatformV1CancelNasJobRequest", - "description": "Request message for JobService.CancelNasJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1NasTrialDetail": { - "id": "GoogleCloudAiplatformV1NasTrialDetail", - "description": "Represents a NasTrial details along with its parameters. If there is a corresponding train NasTrial, the train NasTrial is also returned.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the NasTrialDetail.", - "readOnly": true, - "type": "string" - }, - "parameters": { - "description": "The parameters for the NasJob NasTrial.", - "type": "string" - }, - "searchTrial": { - "description": "The requested search NasTrial.", - "$ref": "GoogleCloudAiplatformV1NasTrial" - }, - "trainTrial": { - "description": "The train NasTrial corresponding to search_trial. Only populated if search_trial is used for training.", - "$ref": "GoogleCloudAiplatformV1NasTrial" - } - } - }, - "GoogleCloudAiplatformV1ListNasTrialDetailsResponse": { - "id": "GoogleCloudAiplatformV1ListNasTrialDetailsResponse", - "description": "Response message for JobService.ListNasTrialDetails", - "type": "object", - "properties": { - "nasTrialDetails": { - "description": "List of top NasTrials in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NasTrialDetail" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListNasTrialDetailsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchPredictionJob": { - "id": "GoogleCloudAiplatformV1BatchPredictionJob", - "description": "A job that uses a Model to produce predictions on multiple input instances. If predictions for significant portion of the instances fail, the job may finish without attempting predictions for all remaining instances.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the BatchPredictionJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of this BatchPredictionJob.", - "type": "string" - }, - "model": { - "description": "The name of the Model resource that produces the predictions via this job, must share the same ancestor Location. Starting this job has no impact on any existing deployments of the Model and their resources. Exactly one of model and unmanaged_container_model must be set. The model resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed. The model resource could also be a publisher model. Example: `publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", - "type": "string" - }, - "modelVersionId": { - "description": "Output only. The version ID of the Model that produces the predictions via this job.", - "readOnly": true, - "type": "string" - }, - "unmanagedContainerModel": { - "description": "Contains model information necessary to perform batch prediction without requiring uploading to model registry. Exactly one of model and unmanaged_container_model must be set.", - "$ref": "GoogleCloudAiplatformV1UnmanagedContainerModel" - }, - "inputConfig": { - "description": "Required. Input configuration of the instances on which predictions are performed. The schema of any single instance may be specified via the Model's PredictSchemata's instance_schema_uri.", - "$ref": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig" - }, - "instanceConfig": { - "description": "Configuration for how to convert batch prediction input instances to the prediction instances that are sent to the Model.", - "$ref": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig" - }, - "modelParameters": { - "description": "The parameters that govern the predictions. The schema of the parameters may be specified via the Model's PredictSchemata's parameters_schema_uri.", - "type": "any" - }, - "outputConfig": { - "description": "Required. The Configuration specifying where output predictions should be written. The schema of any single prediction may be specified as a concatenation of Model's PredictSchemata's instance_schema_uri and prediction_schema_uri.", - "$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig" - }, - "dedicatedResources": { - "description": "The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided.", - "$ref": "GoogleCloudAiplatformV1BatchDedicatedResources" - }, - "serviceAccount": { - "description": "The service account that the DeployedModel's container runs as. If not specified, a system generated one will be used, which has minimal permissions and the custom container, if used, may not have enough permission to access other Google Cloud resources. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", - "type": "string" - }, - "manualBatchTuningParameters": { - "description": "Immutable. Parameters configuring the batch behavior. Currently only applicable when dedicated_resources are used (in other cases Vertex AI does the tuning itself).", - "$ref": "GoogleCloudAiplatformV1ManualBatchTuningParameters" - }, - "generateExplanation": { - "description": "Generate explanation with the batch prediction results. When set to `true`, the batch prediction output changes based on the `predictions_format` field of the BatchPredictionJob.output_config object: * `bigquery`: output includes a column named `explanation`. The value is a struct that conforms to the Explanation object. * `jsonl`: The JSON objects on each line include an additional entry keyed `explanation`. The value of the entry is a JSON object that conforms to the Explanation object. * `csv`: Generating explanations for CSV format is not supported. If this field is set to true, either the Model.explanation_spec or explanation_spec must be populated.", - "type": "boolean" - }, - "explanationSpec": { - "description": "Explanation configuration for this BatchPredictionJob. Can be specified only if generate_explanation is set to `true`. This value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of the explanation_spec object is not populated, the corresponding field of the Model.explanation_spec object is inherited.", - "$ref": "GoogleCloudAiplatformV1ExplanationSpec" - }, - "outputInfo": { - "description": "Output only. Information further describing the output of this job.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo" - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "error": { - "description": "Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "partialFailures": { - "description": "Output only. Partial failures encountered. For example, single files that can't be read. This field never exceeds 20 entries. Status details fields contain standard Google Cloud error details.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleRpcStatus" - } - }, - "resourcesConsumed": { - "description": "Output only. Information about resources that had been consumed by this job. Provided in real time at best effort basis, as well as a final value once the job completes. Note: This field currently may be not populated for batch predictions that use AutoML Models.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ResourcesConsumed" - }, - "completionStats": { - "description": "Output only. Statistics on completed and failed prediction instances.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CompletionStats" - }, - "createTime": { - "description": "Output only. Time when the BatchPredictionJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the BatchPredictionJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the BatchPredictionJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options for a BatchPredictionJob. If this is set, then all resources created by the BatchPredictionJob will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "disableContainerLogging": { - "description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", - "type": "boolean" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1UnmanagedContainerModel": { - "id": "GoogleCloudAiplatformV1UnmanagedContainerModel", - "description": "Contains model information necessary to perform batch prediction without requiring a full model import.", - "type": "object", - "properties": { - "artifactUri": { - "description": "The path to the directory containing the Model artifact and any of its supporting files.", - "type": "string" - }, - "predictSchemata": { - "description": "Contains the schemata used in Model's predictions and explanations", - "$ref": "GoogleCloudAiplatformV1PredictSchemata" - }, - "containerSpec": { - "description": "Input only. The specification of the container that is to be used when deploying this Model.", - "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" - } - } - }, - "GoogleCloudAiplatformV1PredictSchemata": { - "id": "GoogleCloudAiplatformV1PredictSchemata", - "description": "Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob.", - "type": "object", - "properties": { - "instanceSchemaUri": { - "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "parametersSchemaUri": { - "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no parameters are supported, then it is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "predictionSchemaUri": { - "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ModelContainerSpec": { - "id": "GoogleCloudAiplatformV1ModelContainerSpec", - "description": "Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", - "type": "object", - "properties": { - "imageUri": { - "description": "Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field.", - "type": "string" - }, - "command": { - "description": "Immutable. Specifies the command that runs when the container starts. This overrides the container's [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). Specify this field as an array of executable and arguments, similar to a Docker `ENTRYPOINT`'s \"exec\" form, not its \"shell\" form. If you do not specify this field, then the container's `ENTRYPOINT` runs, in conjunction with the args field or the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if either exists. If this field is not specified and the container does not have an `ENTRYPOINT`, then refer to the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). If you specify this field, then you can also specify the `args` field to provide additional arguments for this command. However, if you specify this field, then the container's `CMD` is ignored. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `command` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", - "type": "array", - "items": { - "type": "string" - } - }, - "args": { - "description": "Immutable. Specifies arguments for the command that runs when the container starts. This overrides the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify this field as an array of executable and arguments, similar to a Docker `CMD`'s \"default parameters\" form. If you don't specify this field but do specify the command field, then the command from the `command` field runs without any additional arguments. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). If you don't specify this field and don't specify the `command` field, then the container's [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and `CMD` determine what runs based on their default behavior. See the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `args` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "description": "Immutable. List of environment variables to set in the container. After the container starts running, code running in the container can read these environment variables. Additionally, the command and args fields can reference these variables. Later entries in this list can also reference earlier entries. For example, the following example sets the variable `VAR_2` to have the value `foo bar`: ```json [ { \"name\": \"VAR_1\", \"value\": \"foo\" }, { \"name\": \"VAR_2\", \"value\": \"$(VAR_1) bar\" } ] ``` If you switch the order of the variables in the example, then the expansion does not occur. This field corresponds to the `env` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EnvVar" - } - }, - "ports": { - "description": "Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { \"containerPort\": 8080 } ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Port" - } - }, - "predictRoute": { - "description": "Immutable. HTTP path on the container to send prediction requests to. Vertex AI forwards requests sent using projects.locations.endpoints.predict to this path on the container's IP address and port. Vertex AI then returns the container's response in the API response. For example, if you set this field to `/foo`, then when Vertex AI receives a prediction request, it forwards the request body in a POST request to the `/foo` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", - "type": "string" - }, - "healthRoute": { - "description": "Immutable. HTTP path on the container to send health checks to. Vertex AI intermittently sends GET requests to this path on the container's IP address and port to check that the container is healthy. Read more about [health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). For example, if you set this field to `/bar`, then Vertex AI intermittently sends a GET request to the `/bar` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/ DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", - "type": "string" - }, - "invokeRoutePrefix": { - "description": "Immutable. Invoke route prefix for the custom container. \"/*\" is the only supported value right now. By setting this field, any non-root route on this model will be accessible with invoke http call eg: \"/invoke/foo/bar\", however the [PredictionService.Invoke] RPC is not supported yet. Only one of `predict_route` or `invoke_route_prefix` can be set, and we default to using `predict_route` if this field is not set. If this field is set, the Model can only be deployed to dedicated endpoint.", - "type": "string" - }, - "grpcPorts": { - "description": "Immutable. List of ports to expose from the container. Vertex AI sends gRPC prediction requests that it receives to the first port on this list. Vertex AI also sends liveness and health checks to this port. If you do not specify this field, gRPC requests to the container will be disabled. Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers v1 core API.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Port" - } - }, - "deploymentTimeout": { - "description": "Immutable. Deployment timeout. Limit for deployment timeout is 2 hours.", - "type": "string", - "format": "google-duration" - }, - "sharedMemorySizeMb": { - "description": "Immutable. The amount of the VM memory to reserve as the shared memory for the model in megabytes.", - "type": "string", - "format": "int64" - }, - "startupProbe": { - "description": "Immutable. Specification for Kubernetes startup probe.", - "$ref": "GoogleCloudAiplatformV1Probe" - }, - "healthProbe": { - "description": "Immutable. Specification for Kubernetes readiness probe.", - "$ref": "GoogleCloudAiplatformV1Probe" - }, - "livenessProbe": { - "description": "Immutable. Specification for Kubernetes liveness probe.", - "$ref": "GoogleCloudAiplatformV1Probe" - } - } - }, - "GoogleCloudAiplatformV1Port": { - "id": "GoogleCloudAiplatformV1Port", - "description": "Represents a network port in a container.", - "type": "object", - "properties": { - "containerPort": { - "description": "The number of the port to expose on the pod's IP address. Must be a valid port number, between 1 and 65535 inclusive.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1Probe": { - "id": "GoogleCloudAiplatformV1Probe", - "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", - "type": "object", - "properties": { - "exec": { - "description": "ExecAction probes the health of a container by executing a command.", - "$ref": "GoogleCloudAiplatformV1ProbeExecAction" - }, - "httpGet": { - "description": "HttpGetAction probes the health of a container by sending an HTTP GET request.", - "$ref": "GoogleCloudAiplatformV1ProbeHttpGetAction" - }, - "grpc": { - "description": "GrpcAction probes the health of a container by sending a gRPC request.", - "$ref": "GoogleCloudAiplatformV1ProbeGrpcAction" - }, - "tcpSocket": { - "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", - "$ref": "GoogleCloudAiplatformV1ProbeTcpSocketAction" - }, - "periodSeconds": { - "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", - "type": "integer", - "format": "int32" - }, - "timeoutSeconds": { - "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.", - "type": "integer", - "format": "int32" - }, - "failureThreshold": { - "description": "Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.", - "type": "integer", - "format": "int32" - }, - "successThreshold": { - "description": "Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.", - "type": "integer", - "format": "int32" - }, - "initialDelaySeconds": { - "description": "Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ProbeExecAction": { - "id": "GoogleCloudAiplatformV1ProbeExecAction", - "description": "ExecAction specifies a command to execute.", - "type": "object", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ProbeHttpGetAction": { - "id": "GoogleCloudAiplatformV1ProbeHttpGetAction", - "description": "HttpGetAction describes an action based on HTTP Get requests.", - "type": "object", - "properties": { - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", - "type": "integer", - "format": "int32" - }, - "host": { - "description": "Host name to connect to, defaults to the model serving container's IP. You probably want to set \"Host\" in httpHeaders instead.", - "type": "string" - }, - "scheme": { - "description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ProbeHttpHeader" - } - } - } - }, - "GoogleCloudAiplatformV1ProbeHttpHeader": { - "id": "GoogleCloudAiplatformV1ProbeHttpHeader", - "description": "HttpHeader describes a custom header to be used in HTTP probes", - "type": "object", - "properties": { - "name": { - "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ProbeGrpcAction": { - "id": "GoogleCloudAiplatformV1ProbeGrpcAction", - "description": "GrpcAction checks the health of a container using a gRPC service.", - "type": "object", - "properties": { - "port": { - "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", - "type": "integer", - "format": "int32" - }, - "service": { - "description": "Service is the name of the service to place in the gRPC HealthCheckRequest. See https://github.com/grpc/grpc/blob/master/doc/health-checking.md. If this is not specified, the default behavior is defined by gRPC.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ProbeTcpSocketAction": { - "id": "GoogleCloudAiplatformV1ProbeTcpSocketAction", - "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", - "type": "object", - "properties": { - "port": { - "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", - "type": "integer", - "format": "int32" - }, - "host": { - "description": "Optional: Host name to connect to, defaults to the model serving container's IP.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchPredictionJobInputConfig": { - "id": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig", - "description": "Configures the input to BatchPredictionJob. See Model.supported_input_storage_formats for Model's supported input formats, and how instances should be expressed via any of them.", - "type": "object", - "properties": { - "gcsSource": { - "description": "The Cloud Storage location for the input instances.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "bigquerySource": { - "description": "The BigQuery location of the input table. The schema of the table should be in the format described by the given context OpenAPI Schema, if one is provided. The table may contain additional columns that are not described by the schema, and they will be ignored.", - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - }, - "instancesFormat": { - "description": "Required. The format in which instances are given, must be one of the Model's supported_input_storage_formats.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig": { - "id": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig", - "description": "Configuration defining how to transform batch prediction input instances to the instances that the Model accepts.", - "type": "object", - "properties": { - "instanceType": { - "description": "The format of the instance that the Model accepts. Vertex AI will convert compatible batch prediction input instance formats to the specified format. Supported values are: * `object`: Each input is converted to JSON object format. * For `bigquery`, each row is converted to an object. * For `jsonl`, each line of the JSONL input must be an object. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. * `array`: Each input is converted to JSON array format. * For `bigquery`, each row is converted to an array. The order of columns is determined by the BigQuery column order, unless included_fields is populated. included_fields must be populated for specifying field orders. * For `jsonl`, if each line of the JSONL input is an object, included_fields must be populated for specifying field orders. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. If not specified, Vertex AI converts the batch prediction input as follows: * For `bigquery` and `csv`, the behavior is the same as `array`. The order of columns is the same as defined in the file or table, unless included_fields is populated. * For `jsonl`, the prediction instance format is determined by each line of the input. * For `tf-record`/`tf-record-gzip`, each record will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the record. * For `file-list`, each file in the list will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the file.", - "type": "string" - }, - "keyField": { - "description": "The name of the field that is considered as a key. The values identified by the key field is not included in the transformed instances that is sent to the Model. This is similar to specifying this name of the field in excluded_fields. In addition, the batch prediction output will not include the instances. Instead the output will only include the value of the key field, in a field named `key` in the output: * For `jsonl` output format, the output will have a `key` field instead of the `instance` field. * For `csv`/`bigquery` output format, the output will have have a `key` column instead of the instance feature columns. The input must be JSONL with objects at each line, CSV, BigQuery or TfRecord.", - "type": "string" - }, - "includedFields": { - "description": "Fields that will be included in the prediction instance that is sent to the Model. If instance_type is `array`, the order of field names in included_fields also determines the order of the values in the array. When included_fields is populated, excluded_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", - "type": "array", - "items": { - "type": "string" - } - }, - "excludedFields": { - "description": "Fields that will be excluded in the prediction instance that is sent to the Model. Excluded will be attached to the batch prediction output if key_field is not specified. When excluded_fields is populated, included_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig": { - "id": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig", - "description": "Configures the output of BatchPredictionJob. See Model.supported_output_storage_formats for supported output formats, and how predictions are expressed via any of them.", - "type": "object", - "properties": { - "gcsDestination": { - "description": "The Cloud Storage location of the directory where the output is to be written to. In the given directory a new directory is created. Its name is `prediction--`, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are created where `` depends on chosen predictions_format, and N may equal 0001 and depends on the total number of successfully predicted instances. If the Model has both instance and prediction schemata defined then each such file contains predictions as per the predictions_format. If prediction for any instance failed (partially or completely), then an additional `errors_0001.`, `errors_0002.`,..., `errors_N.` files are created (N depends on total number of failed predictions). These files contain the failed instances, as per their schema, followed by an additional `error` field which as value has google.rpc.Status containing only `code` and `message` fields.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "bigqueryDestination": { - "description": "The BigQuery project or dataset location where the output is to be written to. If project is provided, a new dataset is created with name `prediction__` where is made BigQuery-dataset-name compatible (for example, most special characters become underscores), and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ \"based on ISO-8601\" format. In the dataset two tables will be created, `predictions`, and `errors`. If the Model has both instance and prediction schemata defined then the tables have columns as follows: The `predictions` table contains instances for which the prediction succeeded, it has columns as per a concatenation of the Model's instance and prediction schemata. The `errors` table contains rows for which the prediction has failed, it has instance columns, as per the instance schema, followed by a single \"errors\" column, which as values has google.rpc.Status represented as a STRUCT, and containing only `code` and `message`.", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "predictionsFormat": { - "description": "Required. The format in which Vertex AI gives the predictions, must be one of the Model's supported_output_storage_formats.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchDedicatedResources": { - "id": "GoogleCloudAiplatformV1BatchDedicatedResources", - "description": "A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration.", - "type": "object", - "properties": { - "machineSpec": { - "description": "Required. Immutable. The specification of a single machine.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "startingReplicaCount": { - "description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", - "type": "integer", - "format": "int32" - }, - "maxReplicaCount": { - "description": "Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ManualBatchTuningParameters": { - "id": "GoogleCloudAiplatformV1ManualBatchTuningParameters", - "description": "Manual batch tuning parameters.", - "type": "object", - "properties": { - "batchSize": { - "description": "Immutable. The number of the records (e.g. instances) of the operation given in each batch to a machine replica. Machine type, and size of a single record should be considered when setting this parameter, higher value speeds up the batch operation's execution, but too high value will result in a whole batch not fitting in a machine's memory, and the whole operation will fail. The default value is 64.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo": { - "id": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo", - "description": "Further describes this job's output. Supplements output_config.", - "type": "object", - "properties": { - "gcsOutputDirectory": { - "description": "Output only. The full path of the Cloud Storage directory created, into which the prediction output is written.", - "readOnly": true, - "type": "string" - }, - "bigqueryOutputDataset": { - "description": "Output only. The path of the BigQuery dataset created, in `bq://projectId.bqDatasetId` format, into which the prediction output is written.", - "readOnly": true, - "type": "string" - }, - "bigqueryOutputTable": { - "description": "Output only. The name of the BigQuery table created, in `predictions_` format, into which the prediction output is written. Can be used by UI to generate the BigQuery output path, for example.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ResourcesConsumed": { - "id": "GoogleCloudAiplatformV1ResourcesConsumed", - "description": "Statistics information about resource consumption.", - "type": "object", - "properties": { - "replicaHours": { - "description": "Output only. The number of replica hours used. Note that many replicas may run in parallel, and additionally any given work may be queued for some time. Therefore this value is not strictly related to wall time.", - "readOnly": true, - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1CompletionStats": { - "id": "GoogleCloudAiplatformV1CompletionStats", - "description": "Success and error statistics of processing multiple entities (for example, DataItems or structured data rows) in batch.", - "type": "object", - "properties": { - "successfulCount": { - "description": "Output only. The number of entities that had been processed successfully.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "failedCount": { - "description": "Output only. The number of entities for which any error was encountered.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "incompleteCount": { - "description": "Output only. In cases when enough errors are encountered a job, pipeline, or operation may be failed as a whole. Below is the number of entities for which the processing had not been finished (either in successful or failed state). Set to -1 if the number is unknown (for example, the operation failed before the total entity number could be collected).", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "successfulForecastPointCount": { - "description": "Output only. The number of the successful forecast points that are generated by the forecasting model. This is ONLY used by the forecasting batch prediction.", - "readOnly": true, - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse": { - "id": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse", - "description": "Response message for JobService.ListBatchPredictionJobs", - "type": "object", - "properties": { - "batchPredictionJobs": { - "description": "List of BatchPredictionJobs in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListBatchPredictionJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest": { - "id": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest", - "description": "Request message for JobService.CancelBatchPredictionJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob": { - "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob", - "description": "Represents a job that runs periodically to monitor the deployed models in an endpoint. It will analyze the logged training & prediction data to detect any abnormal behaviors.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob.", - "type": "string" - }, - "endpoint": { - "description": "Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "type": "string" - }, - "state": { - "description": "Output only. The detailed state of the monitoring job. When the job is still creating, the state will be 'PENDING'. Once the job is successfully created, the state will be 'RUNNING'. Pause the job, the state will be 'PAUSED'. Resume the job, the state will return to 'RUNNING'.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "scheduleState": { - "description": "Output only. Schedule state when the monitoring job is in Running state.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified state.", - "The pipeline is picked up and wait to run.", - "The pipeline is offline and will be scheduled for next run.", - "The pipeline is running." - ], - "enum": [ - "MONITORING_SCHEDULE_STATE_UNSPECIFIED", - "PENDING", - "OFFLINE", - "RUNNING" - ] - }, - "latestMonitoringPipelineMetadata": { - "description": "Output only. Latest triggered monitoring pipeline metadata.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata" - }, - "modelDeploymentMonitoringObjectiveConfigs": { - "description": "Required. The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig" - } - }, - "modelDeploymentMonitoringScheduleConfig": { - "description": "Required. Schedule config for running the monitoring job.", - "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig" - }, - "loggingSamplingStrategy": { - "description": "Required. Sample Strategy for logging.", - "$ref": "GoogleCloudAiplatformV1SamplingStrategy" - }, - "modelMonitoringAlertConfig": { - "description": "Alert config for model monitoring.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig" - }, - "predictInstanceSchemaUri": { - "description": "YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests.", - "type": "string" - }, - "samplePredictInstance": { - "description": "Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests.", - "type": "any" - }, - "analysisInstanceSchemaUri": { - "description": "YAML schema file uri describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. If this field is empty, all the feature data types are inferred from predict_instance_schema_uri, meaning that TFDV will use the data in the exact format(data type) as prediction request/response. If there are any data type differences between predict instance and TFDV instance, this field can be used to override the schema. For models trained with Vertex AI, this field must be set as all the fields in predict instance formatted as string.", - "type": "string" - }, - "bigqueryTables": { - "description": "Output only. The created bigquery tables for the job under customer project. Customer could do their own query & analysis. There could be 4 log tables in maximum: 1. Training data logging predict request/response 2. Serving data logging predict request/response", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable" - } - }, - "logTtl": { - "description": "The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day.", - "type": "string", - "format": "google-duration" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "nextScheduleTime": { - "description": "Output only. Timestamp when this monitoring pipeline will be scheduled to run for the next round.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "statsAnomaliesBaseDirectory": { - "description": "Stats anomalies base folder path.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob and all sub-resources of this ModelDeploymentMonitoringJob will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "enableMonitoringPipelineLogs": { - "description": "If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing).", - "type": "boolean" - }, - "error": { - "description": "Output only. Only populated when the job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata": { - "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", - "description": "All metadata of most recent monitoring pipelines.", - "type": "object", - "properties": { - "runTime": { - "description": "The time that most recent monitoring pipelines that is related to this run.", - "type": "string", - "format": "google-datetime" - }, - "status": { - "description": "The status of the most recent monitoring pipeline.", - "$ref": "GoogleRpcStatus" - } - } - }, - "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig": { - "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig", - "description": "ModelDeploymentMonitoringObjectiveConfig contains the pair of deployed_model_id to ModelMonitoringObjectiveConfig.", - "type": "object", - "properties": { - "deployedModelId": { - "description": "The DeployedModel ID of the objective config.", - "type": "string" - }, - "objectiveConfig": { - "description": "The objective config of for the modelmonitoring job of this deployed model.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig", - "description": "The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model.", - "type": "object", - "properties": { - "trainingDataset": { - "description": "Training dataset for models. This field has to be set only if TrainingPredictionSkewDetectionConfig is specified.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset" - }, - "trainingPredictionSkewDetectionConfig": { - "description": "The config for skew between training data and prediction data.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig" - }, - "predictionDriftDetectionConfig": { - "description": "The config for drift of prediction data.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig" - }, - "explanationConfig": { - "description": "The config for integrating with Vertex Explainable AI.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset", - "description": "Training Dataset information.", - "type": "object", - "properties": { - "dataset": { - "description": "The resource name of the Dataset used to train this Model.", - "type": "string" - }, - "gcsSource": { - "description": "The Google Cloud Storage uri of the unmanaged Dataset used to train this Model.", - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "bigquerySource": { - "description": "The BigQuery table of the unmanaged Dataset used to train this Model.", - "$ref": "GoogleCloudAiplatformV1BigQuerySource" - }, - "dataFormat": { - "description": "Data format of the dataset, only applicable if the input is from Google Cloud Storage. The possible formats are: \"tf-record\" The source file is a TFRecord file. \"csv\" The source file is a CSV file. \"jsonl\" The source file is a JSONL file.", - "type": "string" - }, - "targetField": { - "description": "The target field name the model is to predict. This field will be excluded when doing Predict and (or) Explain for the training data.", - "type": "string" - }, - "loggingSamplingStrategy": { - "description": "Strategy to sample data from Training Dataset. If not set, we process the whole dataset.", - "$ref": "GoogleCloudAiplatformV1SamplingStrategy" - } - } - }, - "GoogleCloudAiplatformV1SamplingStrategy": { - "id": "GoogleCloudAiplatformV1SamplingStrategy", - "description": "Sampling Strategy for logging, can be for both training and prediction dataset.", - "type": "object", - "properties": { - "randomSampleConfig": { - "description": "Random sample config. Will support more sampling strategies later.", - "$ref": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig" - } - } - }, - "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig": { - "id": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig", - "description": "Requests are randomly selected.", - "type": "object", - "properties": { - "sampleRate": { - "description": "Sample rate (0, 1]", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", - "description": "The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters.", - "type": "object", - "properties": { - "skewThresholds": { - "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - }, - "attributionScoreSkewThresholds": { - "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - }, - "defaultSkewThreshold": { - "description": "Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features.", - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - } - }, - "GoogleCloudAiplatformV1ThresholdConfig": { - "id": "GoogleCloudAiplatformV1ThresholdConfig", - "description": "The config for feature monitoring threshold.", - "type": "object", - "properties": { - "value": { - "description": "Specify a threshold value that can trigger the alert. If this threshold config is for feature distribution distance: 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", - "description": "The config for Prediction data drift detection.", - "type": "object", - "properties": { - "driftThresholds": { - "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - }, - "attributionScoreDriftThresholds": { - "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - }, - "defaultDriftThreshold": { - "description": "Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features.", - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig", - "description": "The config for integrating with Vertex Explainable AI. Only applicable if the Model has explanation_spec populated.", - "type": "object", - "properties": { - "enableFeatureAttributes": { - "description": "If want to analyze the Vertex Explainable AI feature attribute scores or not. If set to true, Vertex AI will log the feature attributions from explain response and do the skew/drift detection for them.", - "type": "boolean" - }, - "explanationBaseline": { - "description": "Predictions generated by the BatchPredictionJob using baseline dataset.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline": { - "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", - "description": "Output from BatchPredictionJob for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores.", - "type": "object", - "properties": { - "gcs": { - "description": "Cloud Storage location for BatchExplain output.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "bigquery": { - "description": "BigQuery location for BatchExplain output.", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "predictionFormat": { - "description": "The storage format of the predictions generated BatchPrediction job.", - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "Predictions are in JSONL files.", - "Predictions are in BigQuery." - ], - "enum": [ - "PREDICTION_FORMAT_UNSPECIFIED", - "JSONL", - "BIGQUERY" - ] - } - } - }, - "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig": { - "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig", - "description": "The config for scheduling monitoring job.", - "type": "object", - "properties": { - "monitorInterval": { - "description": "Required. The model monitoring job scheduling interval. It will be rounded up to next full hour. This defines how often the monitoring jobs are triggered.", - "type": "string", - "format": "google-duration" - }, - "monitorWindow": { - "description": "The time window of the prediction data being included in each prediction dataset. This window specifies how long the data should be collected from historical model results for each run. If not set, ModelDeploymentMonitoringScheduleConfig.monitor_interval will be used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and the monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 to 2022-01-08 14:30:00 will be retrieved and aggregated to calculate the monitoring statistics.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringAlertConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig", - "description": "The alert config for model monitoring.", - "type": "object", - "properties": { - "emailAlertConfig": { - "description": "Email alert config.", - "$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig" - }, - "enableLogging": { - "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging.", - "type": "boolean" - }, - "notificationChannels": { - "description": "Resource names of the NotificationChannels to send alert. Must be of the format `projects//notificationChannels/`", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig": { - "id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig", - "description": "The config for email alert.", - "type": "object", - "properties": { - "userEmails": { - "description": "The email addresses to send the alert.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable": { - "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable", - "description": "ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name as well as some information of the logs stored in this table.", - "type": "object", - "properties": { - "logSource": { - "description": "The source of log.", - "type": "string", - "enumDescriptions": [ - "Unspecified source.", - "Logs coming from Training dataset.", - "Logs coming from Serving traffic." - ], - "enum": [ - "LOG_SOURCE_UNSPECIFIED", - "TRAINING", - "SERVING" - ] - }, - "logType": { - "description": "The type of log.", - "type": "string", - "enumDescriptions": [ - "Unspecified type.", - "Predict logs.", - "Explain logs." - ], - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "PREDICT", - "EXPLAIN" - ] - }, - "bigqueryTablePath": { - "description": "The created BigQuery table to store logs. Customer could do their own query & analysis. Format: `bq://.model_deployment_monitoring_._`", - "type": "string" - }, - "requestResponseLoggingSchemaVersion": { - "description": "Output only. The schema version of the request/response logging BigQuery table. Default to v1 if unset.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest": { - "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest", - "description": "Request message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", - "type": "object", - "properties": { - "deployedModelId": { - "description": "Required. The DeployedModel ID of the [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].", - "type": "string" - }, - "featureDisplayName": { - "description": "The feature display name. If specified, only return the stats belonging to this feature. Format: ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name, example: \"user_destination\".", - "type": "string" - }, - "objectives": { - "description": "Required. Objectives of the stats to retrieve.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective" - } - }, - "pageSize": { - "description": "The standard list page size.", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "A page token received from a previous JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", - "type": "string" - }, - "startTime": { - "description": "The earliest timestamp of stats being generated. If not set, indicates fetching stats till the earliest possible one.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "The latest timestamp of stats being generated. If not set, indicates feching stats till the latest possible one.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective": { - "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective", - "description": "Stats requested for specific objective.", - "type": "object", - "properties": { - "type": { - "type": "string", - "enumDescriptions": [ - "Default value, should not be set.", - "Raw feature values' stats to detect skew between Training-Prediction datasets.", - "Raw feature values' stats to detect drift between Serving-Prediction datasets.", - "Feature attribution scores to detect skew between Training-Prediction datasets.", - "Feature attribution scores to detect skew between Prediction datasets collected within different time windows." - ], - "enum": [ - "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", - "RAW_FEATURE_SKEW", - "RAW_FEATURE_DRIFT", - "FEATURE_ATTRIBUTION_SKEW", - "FEATURE_ATTRIBUTION_DRIFT" - ] - }, - "topFeatureCount": { - "description": "If set, all attribution scores between SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are fetched, and page token doesn't take effect in this case. Only used to retrieve attribution score for the top Features which has the highest attribution score in the latest monitoring run.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse": { - "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse", - "description": "Response message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", - "type": "object", - "properties": { - "monitoringStats": { - "description": "Stats retrieved for requested objectives. There are at most 1000 ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats in the response.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies" - } - }, - "nextPageToken": { - "description": "The page token that can be used by the next JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies": { - "id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies", - "description": "Statistics and anomalies generated by Model Monitoring.", - "type": "object", - "properties": { - "objective": { - "description": "Model Monitoring Objective those stats and anomalies belonging to.", - "type": "string", - "enumDescriptions": [ - "Default value, should not be set.", - "Raw feature values' stats to detect skew between Training-Prediction datasets.", - "Raw feature values' stats to detect drift between Serving-Prediction datasets.", - "Feature attribution scores to detect skew between Training-Prediction datasets.", - "Feature attribution scores to detect skew between Prediction datasets collected within different time windows." - ], - "enum": [ - "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", - "RAW_FEATURE_SKEW", - "RAW_FEATURE_DRIFT", - "FEATURE_ATTRIBUTION_SKEW", - "FEATURE_ATTRIBUTION_DRIFT" - ] - }, - "deployedModelId": { - "description": "Deployed Model ID.", - "type": "string" - }, - "anomalyCount": { - "description": "Number of anomalies within all stats.", - "type": "integer", - "format": "int32" - }, - "featureStats": { - "description": "A list of historical Stats and Anomalies generated for all Features.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies" - } - } - } - }, - "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies": { - "id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies", - "description": "Historical Stats (and Anomalies) for a specific Feature.", - "type": "object", - "properties": { - "featureDisplayName": { - "description": "Display Name of the Feature.", - "type": "string" - }, - "threshold": { - "description": "Threshold for anomaly detection.", - "$ref": "GoogleCloudAiplatformV1ThresholdConfig" - }, - "trainingStats": { - "description": "Stats calculated for the Training Dataset.", - "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" - }, - "predictionStats": { - "description": "A list of historical stats generated by different time window's Prediction Dataset.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" - } - } - } - }, - "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse": { - "id": "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse", - "description": "Response message for JobService.ListModelDeploymentMonitoringJobs.", - "type": "object", - "properties": { - "modelDeploymentMonitoringJobs": { - "description": "A list of ModelDeploymentMonitoringJobs that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest": { - "id": "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest", - "description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest": { - "id": "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest", - "description": "Request message for JobService.ResumeModelDeploymentMonitoringJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1PredictRequest": { - "id": "GoogleCloudAiplatformV1PredictRequest", - "description": "Request message for PredictionService.Predict.", - "type": "object", - "properties": { - "instances": { - "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", - "type": "array", - "items": { - "type": "any" - } - }, - "parameters": { - "description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1PredictResponse": { - "id": "GoogleCloudAiplatformV1PredictResponse", - "description": "Response message for PredictionService.Predict.", - "type": "object", - "properties": { - "predictions": { - "description": "The predictions that are the output of the predictions call. The schema of any single prediction may be specified via Endpoint's DeployedModels' Model's PredictSchemata's prediction_schema_uri.", - "type": "array", - "items": { - "type": "any" - } - }, - "deployedModelId": { - "description": "ID of the Endpoint's DeployedModel that served this prediction.", - "type": "string" - }, - "model": { - "description": "Output only. The resource name of the Model which is deployed as the DeployedModel that this prediction hits.", - "readOnly": true, - "type": "string" - }, - "modelVersionId": { - "description": "Output only. The version ID of the Model which is deployed as the DeployedModel that this prediction hits.", - "readOnly": true, - "type": "string" - }, - "modelDisplayName": { - "description": "Output only. The display name of the Model which is deployed as the DeployedModel that this prediction hits.", - "readOnly": true, - "type": "string" - }, - "metadata": { - "description": "Output only. Request-level metadata returned by the model. The metadata type will be dependent upon the model implementation.", - "readOnly": true, - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1RawPredictRequest": { - "id": "GoogleCloudAiplatformV1RawPredictRequest", - "description": "Request message for PredictionService.RawPredict.", - "type": "object", - "properties": { - "httpBody": { - "description": "The prediction input. Supports HTTP headers and arbitrary data payload. A DeployedModel may have an upper limit on the number of instances it supports per request. When this limit it is exceeded for an AutoML model, the RawPredict method returns an error. When this limit is exceeded for a custom-trained model, the behavior varies depending on the model. You can specify the schema for each instance in the predict_schemata.instance_schema_uri field when you create a Model. This schema applies when you deploy the `Model` as a `DeployedModel` to an Endpoint and use the `RawPredict` method.", - "$ref": "GoogleApiHttpBody" - } - } - }, - "GoogleApiHttpBody": { - "id": "GoogleApiHttpBody", - "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", - "type": "object", - "properties": { - "contentType": { - "description": "The HTTP Content-Type header value specifying the content type of the body.", - "type": "string" - }, - "data": { - "description": "The HTTP request/response body as raw binary.", - "type": "string", - "format": "byte" - }, - "extensions": { - "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - } - } - } - }, - "GoogleCloudAiplatformV1StreamRawPredictRequest": { - "id": "GoogleCloudAiplatformV1StreamRawPredictRequest", - "description": "Request message for PredictionService.StreamRawPredict.", - "type": "object", - "properties": { - "httpBody": { - "description": "The prediction input. Supports HTTP headers and arbitrary data payload.", - "$ref": "GoogleApiHttpBody" - } - } - }, - "GoogleCloudAiplatformV1DirectPredictRequest": { - "id": "GoogleCloudAiplatformV1DirectPredictRequest", - "description": "Request message for PredictionService.DirectPredict.", - "type": "object", - "properties": { - "inputs": { - "description": "The prediction input.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "parameters": { - "description": "The parameters that govern the prediction.", - "$ref": "GoogleCloudAiplatformV1Tensor" - } - } - }, - "GoogleCloudAiplatformV1Tensor": { - "id": "GoogleCloudAiplatformV1Tensor", - "description": "A tensor value type.", - "type": "object", - "properties": { - "dtype": { - "description": "The data type of tensor.", - "type": "string", - "enumDescriptions": [ - "Not a legal value for DataType. Used to indicate a DataType field has not been set.", - "Data types that all computation devices are expected to be capable to support.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "enum": [ - "DATA_TYPE_UNSPECIFIED", - "BOOL", - "STRING", - "FLOAT", - "DOUBLE", - "INT8", - "INT16", - "INT32", - "INT64", - "UINT8", - "UINT16", - "UINT32", - "UINT64" - ] - }, - "shape": { - "description": "Shape of the tensor.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "boolVal": { - "description": "Type specific representations that make it easy to create tensor protos in all languages. Only the representation corresponding to \"dtype\" can be set. The values hold the flattened representation of the tensor in row major order. BOOL", - "type": "array", - "items": { - "type": "boolean" - } - }, - "stringVal": { - "description": "STRING", - "type": "array", - "items": { - "type": "string" - } - }, - "bytesVal": { - "description": "STRING", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - }, - "floatVal": { - "description": "FLOAT", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "doubleVal": { - "description": "DOUBLE", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "intVal": { - "description": "INT_8 INT_16 INT_32", - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "int64Val": { - "description": "INT64", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "uintVal": { - "description": "UINT8 UINT16 UINT32", - "type": "array", - "items": { - "type": "integer", - "format": "uint32" - } - }, - "uint64Val": { - "description": "UINT64", - "type": "array", - "items": { - "type": "string", - "format": "uint64" - } - }, - "listVal": { - "description": "A list of tensor values.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "structVal": { - "description": "A map of string to tensor.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "tensorVal": { - "description": "Serialized raw tensor content.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1DirectPredictResponse": { - "id": "GoogleCloudAiplatformV1DirectPredictResponse", - "description": "Response message for PredictionService.DirectPredict.", - "type": "object", - "properties": { - "outputs": { - "description": "The prediction output.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "parameters": { - "description": "The parameters that govern the prediction.", - "$ref": "GoogleCloudAiplatformV1Tensor" - } - } - }, - "GoogleCloudAiplatformV1DirectRawPredictRequest": { - "id": "GoogleCloudAiplatformV1DirectRawPredictRequest", - "description": "Request message for PredictionService.DirectRawPredict.", - "type": "object", - "properties": { - "methodName": { - "description": "Fully qualified name of the API method being invoked to perform predictions. Format: `/namespace.Service/Method/` Example: `/tensorflow.serving.PredictionService/Predict`", - "type": "string" - }, - "input": { - "description": "The prediction input.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1DirectRawPredictResponse": { - "id": "GoogleCloudAiplatformV1DirectRawPredictResponse", - "description": "Response message for PredictionService.DirectRawPredict.", - "type": "object", - "properties": { - "output": { - "description": "The prediction output.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1StreamingPredictRequest": { - "id": "GoogleCloudAiplatformV1StreamingPredictRequest", - "description": "Request message for PredictionService.StreamingPredict. The first message must contain endpoint field and optionally input. The subsequent messages must contain input.", - "type": "object", - "properties": { - "inputs": { - "description": "The prediction input.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "parameters": { - "description": "The parameters that govern the prediction.", - "$ref": "GoogleCloudAiplatformV1Tensor" - } - } - }, - "GoogleCloudAiplatformV1StreamingPredictResponse": { - "id": "GoogleCloudAiplatformV1StreamingPredictResponse", - "description": "Response message for PredictionService.StreamingPredict.", - "type": "object", - "properties": { - "outputs": { - "description": "The prediction output.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensor" - } - }, - "parameters": { - "description": "The parameters that govern the prediction.", - "$ref": "GoogleCloudAiplatformV1Tensor" - } - } - }, - "GoogleCloudAiplatformV1PredictLongRunningRequest": { - "id": "GoogleCloudAiplatformV1PredictLongRunningRequest", - "description": "Request message for PredictionService.PredictLongRunning.", - "type": "object", - "properties": { - "instances": { - "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", - "type": "array", - "items": { - "type": "any" - } - }, - "parameters": { - "description": "Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1FetchPredictOperationRequest": { - "id": "GoogleCloudAiplatformV1FetchPredictOperationRequest", - "description": "Request message for PredictionService.FetchPredictOperation.", - "type": "object", - "properties": { - "operationName": { - "description": "Required. The server-assigned name for the operation.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExplainRequest": { - "id": "GoogleCloudAiplatformV1ExplainRequest", - "description": "Request message for PredictionService.Explain.", - "type": "object", - "properties": { - "instances": { - "description": "Required. The instances that are the input to the explanation call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the explanation call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", - "type": "array", - "items": { - "type": "any" - } - }, - "parameters": { - "description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", - "type": "any" - }, - "explanationSpecOverride": { - "description": "If specified, overrides the explanation_spec of the DeployedModel. Can be used for explaining prediction results with different configurations, such as: - Explaining top-5 predictions results as opposed to top-1; - Increasing path count or step count of the attribution methods to reduce approximate errors; - Using different baselines for explaining the prediction results.", - "$ref": "GoogleCloudAiplatformV1ExplanationSpecOverride" - }, - "deployedModelId": { - "description": "If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding Endpoint.traffic_split.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExplanationSpecOverride": { - "id": "GoogleCloudAiplatformV1ExplanationSpecOverride", - "description": "The ExplanationSpec entries that can be overridden at online explanation time.", - "type": "object", - "properties": { - "parameters": { - "description": "The parameters to be overridden. Note that the attribution method cannot be changed. If not specified, no parameter is overridden.", - "$ref": "GoogleCloudAiplatformV1ExplanationParameters" - }, - "metadata": { - "description": "The metadata to be overridden. If not specified, no metadata is overridden.", - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverride" - }, - "examplesOverride": { - "description": "The example-based explanations parameter overrides.", - "$ref": "GoogleCloudAiplatformV1ExamplesOverride" - } - } - }, - "GoogleCloudAiplatformV1ExplanationMetadataOverride": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataOverride", - "description": "The ExplanationMetadata entries that can be overridden at online explanation time.", - "type": "object", - "properties": { - "inputs": { - "description": "Required. Overrides the input metadata of the features. The key is the name of the feature to be overridden. The keys specified here must exist in the input metadata to be overridden. If a feature is not specified here, the corresponding feature's input metadata is not overridden.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride" - } - } - } - }, - "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride": { - "id": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride", - "description": "The input metadata entries to be overridden.", - "type": "object", - "properties": { - "inputBaselines": { - "description": "Baseline inputs for this feature. This overrides the `input_baseline` field of the ExplanationMetadata.InputMetadata object of the corresponding feature's input metadata. If it's not specified, the original baselines are not overridden.", - "type": "array", - "items": { - "type": "any" - } - } - } - }, - "GoogleCloudAiplatformV1ExamplesOverride": { - "id": "GoogleCloudAiplatformV1ExamplesOverride", - "description": "Overrides for example-based explanations.", - "type": "object", - "properties": { - "neighborCount": { - "description": "The number of neighbors to return.", - "type": "integer", - "format": "int32" - }, - "crowdingCount": { - "description": "The number of neighbors to return that have the same crowding tag.", - "type": "integer", - "format": "int32" - }, - "restrictions": { - "description": "Restrict the resulting nearest neighbors to respect these constraints.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace" - } - }, - "returnEmbeddings": { - "description": "If true, return the embeddings instead of neighbors.", - "type": "boolean" - }, - "dataFormat": { - "description": "The format of the data being provided with each call.", - "type": "string", - "enumDescriptions": [ - "Unspecified format. Must not be used.", - "Provided data is a set of model inputs.", - "Provided data is a set of embeddings." - ], - "enum": [ - "DATA_FORMAT_UNSPECIFIED", - "INSTANCES", - "EMBEDDINGS" - ] - } - } - }, - "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace": { - "id": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace", - "description": "Restrictions namespace for example-based explanations overrides.", - "type": "object", - "properties": { - "namespaceName": { - "description": "The namespace name.", - "type": "string" - }, - "allow": { - "description": "The list of allowed tags.", - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "The list of deny tags.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ExplainResponse": { - "id": "GoogleCloudAiplatformV1ExplainResponse", - "description": "Response message for PredictionService.Explain.", - "type": "object", - "properties": { - "explanations": { - "description": "The explanations of the Model's PredictResponse.predictions. It has the same number of elements as instances to be explained.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Explanation" - } - }, - "deployedModelId": { - "description": "ID of the Endpoint's DeployedModel that served this explanation.", - "type": "string" - }, - "predictions": { - "description": "The predictions that are the output of the predictions call. Same as PredictResponse.predictions.", - "type": "array", - "items": { - "type": "any" - } - } - } - }, - "GoogleCloudAiplatformV1Explanation": { - "id": "GoogleCloudAiplatformV1Explanation", - "description": "Explanation of a prediction (provided in PredictResponse.predictions) produced by the Model on a given instance.", - "type": "object", - "properties": { - "attributions": { - "description": "Output only. Feature attributions grouped by predicted outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. By default, we provide Shapley values for the predicted class. However, you can configure the explanation request to generate Shapley values for any other classes too. For example, if a model predicts a probability of `0.4` for approving a loan application, the model's decision is to reject the application since `p(reject) = 0.6 \u003e p(approve) = 0.4`, and the default Shapley values would be computed for rejection decision and not approval, even though the latter might be the positive class. If users set ExplanationParameters.top_k, the attributions are sorted by instance_output_value in descending order. If ExplanationParameters.output_indices is specified, the attributions are stored by Attribution.output_index in the same order as they appear in the output_indices.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Attribution" - } - }, - "neighbors": { - "description": "Output only. List of the nearest neighbors for example-based explanations. For models deployed with the examples explanations feature enabled, the attributions field is empty and instead the neighbors field is populated.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Neighbor" - } - } - } - }, - "GoogleCloudAiplatformV1Attribution": { - "id": "GoogleCloudAiplatformV1Attribution", - "description": "Attribution that explains a particular prediction output.", - "type": "object", - "properties": { - "baselineOutputValue": { - "description": "Output only. Model predicted output if the input instance is constructed from the baselines of all the features defined in ExplanationMetadata.inputs. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model's predicted output has multiple dimensions (rank \u003e 1), this is the value in the output located by output_index. If there are multiple baselines, their output values are averaged.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "instanceOutputValue": { - "description": "Output only. Model predicted output on the corresponding explanation instance. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model predicted output has multiple dimensions, this is the value in the output located by output_index.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "featureAttributions": { - "description": "Output only. Attributions of each explained feature. Features are extracted from the prediction instances according to explanation metadata for inputs. The value is a struct, whose keys are the name of the feature. The values are how much the feature in the instance contributed to the predicted result. The format of the value is determined by the feature's input format: * If the feature is a scalar value, the attribution value is a floating number. * If the feature is an array of scalar values, the attribution value is an array. * If the feature is a struct, the attribution value is a struct. The keys in the attribution value struct are the same as the keys in the feature struct. The formats of the values in the attribution struct are determined by the formats of the values in the feature struct. The ExplanationMetadata.feature_attributions_schema_uri field, pointed to by the ExplanationSpec field of the Endpoint.deployed_models object, points to the schema file that describes the features and their attribution values (if it is populated).", - "readOnly": true, - "type": "any" - }, - "outputIndex": { - "description": "Output only. The index that locates the explained prediction output. If the prediction output is a scalar value, output_index is not populated. If the prediction output has multiple dimensions, the length of the output_index list is the same as the number of dimensions of the output. The i-th element in output_index is the element index of the i-th dimension of the output vector. Indices start from 0.", - "readOnly": true, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "outputDisplayName": { - "description": "Output only. The display name of the output identified by output_index. For example, the predicted class name by a multi-classification Model. This field is only populated iff the Model predicts display names as a separate field along with the explained output. The predicted display name must has the same shape of the explained output, and can be located using output_index.", - "readOnly": true, - "type": "string" - }, - "approximationError": { - "description": "Output only. Error of feature_attributions caused by approximation used in the explanation method. Lower value means more precise attributions. * For Sampled Shapley attribution, increasing path_count might reduce the error. * For Integrated Gradients attribution, increasing step_count might reduce the error. * For XRAI attribution, increasing step_count might reduce the error. See [this introduction](/vertex-ai/docs/explainable-ai/overview) for more information.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "outputName": { - "description": "Output only. Name of the explain output. Specified as the key in ExplanationMetadata.outputs.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Neighbor": { - "id": "GoogleCloudAiplatformV1Neighbor", - "description": "Neighbors for example-based explanations.", - "type": "object", - "properties": { - "neighborId": { - "description": "Output only. The neighbor id.", - "readOnly": true, - "type": "string" - }, - "neighborDistance": { - "description": "Output only. The neighbor distance.", - "readOnly": true, - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1GenerateContentRequest": { - "id": "GoogleCloudAiplatformV1GenerateContentRequest", - "description": "Request message for [PredictionService.GenerateContent].", - "type": "object", - "properties": { - "contents": { - "description": "Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "systemInstruction": { - "description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "cachedContent": { - "description": "Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`", - "type": "string" - }, - "tools": { - "description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - } - }, - "toolConfig": { - "description": "Optional. Tool config. This config is shared for all tools provided in the request.", - "$ref": "GoogleCloudAiplatformV1ToolConfig" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "safetySettings": { - "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SafetySetting" - } - }, - "generationConfig": { - "description": "Optional. Generation config.", - "$ref": "GoogleCloudAiplatformV1GenerationConfig" - } - } - }, - "GoogleCloudAiplatformV1SafetySetting": { - "id": "GoogleCloudAiplatformV1SafetySetting", - "description": "Safety settings.", - "type": "object", - "properties": { - "category": { - "description": "Required. Harm category.", - "type": "string", - "enumDescriptions": [ - "The harm category is unspecified.", - "The harm category is hate speech.", - "The harm category is dangerous content.", - "The harm category is harassment.", - "The harm category is sexually explicit content.", - "Deprecated: Election filter is not longer supported. The harm category is civic integrity.", - "The harm category is image hate.", - "The harm category is image dangerous content.", - "The harm category is image harassment.", - "The harm category is image sexually explicit content." - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enum": [ - "HARM_CATEGORY_UNSPECIFIED", - "HARM_CATEGORY_HATE_SPEECH", - "HARM_CATEGORY_DANGEROUS_CONTENT", - "HARM_CATEGORY_HARASSMENT", - "HARM_CATEGORY_SEXUALLY_EXPLICIT", - "HARM_CATEGORY_CIVIC_INTEGRITY", - "HARM_CATEGORY_IMAGE_HATE", - "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT", - "HARM_CATEGORY_IMAGE_HARASSMENT", - "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT" - ] - }, - "threshold": { - "description": "Required. The harm block threshold.", - "type": "string", - "enumDescriptions": [ - "Unspecified harm block threshold.", - "Block low threshold and above (i.e. block more).", - "Block medium threshold and above.", - "Block only high threshold (i.e. block less).", - "Block none.", - "Turn off the safety filter." - ], - "enum": [ - "HARM_BLOCK_THRESHOLD_UNSPECIFIED", - "BLOCK_LOW_AND_ABOVE", - "BLOCK_MEDIUM_AND_ABOVE", - "BLOCK_ONLY_HIGH", - "BLOCK_NONE", - "OFF" - ] - }, - "method": { - "description": "Optional. Specify if the threshold is used for probability or severity score. If not specified, the threshold is used for probability score.", - "type": "string", - "enumDescriptions": [ - "The harm block method is unspecified.", - "The harm block method uses both probability and severity scores.", - "The harm block method uses the probability score." - ], - "enum": [ - "HARM_BLOCK_METHOD_UNSPECIFIED", - "SEVERITY", - "PROBABILITY" - ] - } - } - }, - "GoogleCloudAiplatformV1GenerationConfig": { - "id": "GoogleCloudAiplatformV1GenerationConfig", - "description": "Generation config.", - "type": "object", - "properties": { - "temperature": { - "description": "Optional. Controls the randomness of predictions.", - "type": "number", - "format": "float" - }, - "topP": { - "description": "Optional. If specified, nucleus sampling will be used.", - "type": "number", - "format": "float" - }, - "topK": { - "description": "Optional. If specified, top-k sampling will be used.", - "type": "number", - "format": "float" - }, - "candidateCount": { - "description": "Optional. Number of candidates to generate.", - "type": "integer", - "format": "int32" - }, - "maxOutputTokens": { - "description": "Optional. The maximum number of output tokens to generate per message.", - "type": "integer", - "format": "int32" - }, - "stopSequences": { - "description": "Optional. Stop sequences.", - "type": "array", - "items": { - "type": "string" - } - }, - "responseLogprobs": { - "description": "Optional. If true, export the logprobs results in response.", - "type": "boolean" - }, - "logprobs": { - "description": "Optional. Logit probabilities.", - "type": "integer", - "format": "int32" - }, - "presencePenalty": { - "description": "Optional. Positive penalties.", - "type": "number", - "format": "float" - }, - "frequencyPenalty": { - "description": "Optional. Frequency penalties.", - "type": "number", - "format": "float" - }, - "seed": { - "description": "Optional. Seed.", - "type": "integer", - "format": "int32" - }, - "responseMimeType": { - "description": "Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", - "type": "string" - }, - "responseSchema": { - "description": "Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response.", - "$ref": "GoogleCloudAiplatformV1Schema" - }, - "responseJsonSchema": { - "description": "Optional. Output schema of the generated response. This is an alternative to `response_schema` that accepts [JSON Schema](https://json-schema.org/). If set, `response_schema` must be omitted, but `response_mime_type` is required. While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor` - `type` - `format` - `title` - `description` - `enum` (for strings and numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` - `maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) - `properties` - `additionalProperties` - `required` The non-standard `propertyOrdering` property may also be set. Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If `$ref` is set on a sub-schema, no other properties, except for than those starting as a `$`, may be set.", - "type": "any" - }, - "routingConfig": { - "description": "Optional. Routing configuration.", - "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig" - }, - "audioTimestamp": { - "description": "Optional. If enabled, audio timestamp will be included in the request to the model.", - "type": "boolean" - }, - "responseModalities": { - "description": "Optional. The modalities of the response.", - "type": "array", - "items": { - "type": "string", - "enumDescriptions": [ - "Unspecified modality. Will be processed as text.", - "Text modality.", - "Image modality.", - "Audio modality." - ], - "enum": [ - "MODALITY_UNSPECIFIED", - "TEXT", - "IMAGE", - "AUDIO" - ] - } - }, - "mediaResolution": { - "description": "Optional. If specified, the media resolution specified will be used.", - "type": "string", - "enumDescriptions": [ - "Media resolution has not been set.", - "Media resolution set to low (64 tokens).", - "Media resolution set to medium (256 tokens).", - "Media resolution set to high (zoomed reframing with 256 tokens)." - ], - "enum": [ - "MEDIA_RESOLUTION_UNSPECIFIED", - "MEDIA_RESOLUTION_LOW", - "MEDIA_RESOLUTION_MEDIUM", - "MEDIA_RESOLUTION_HIGH" - ] - }, - "speechConfig": { - "description": "Optional. The speech generation config.", - "$ref": "GoogleCloudAiplatformV1SpeechConfig" - }, - "thinkingConfig": { - "description": "Optional. Config for thinking features. An error will be returned if this field is set for models that don't support thinking.", - "$ref": "GoogleCloudAiplatformV1GenerationConfigThinkingConfig" - }, - "enableAffectiveDialog": { - "description": "Optional. If enabled, the model will detect emotions and adapt its responses accordingly.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1GenerationConfigRoutingConfig": { - "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig", - "description": "The configuration for routing the request to a specific model.", - "type": "object", - "properties": { - "autoMode": { - "description": "Automated routing.", - "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode" - }, - "manualMode": { - "description": "Manual routing.", - "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode" - } - } - }, - "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode": { - "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode", - "description": "When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference.", - "type": "object", - "properties": { - "modelRoutingPreference": { - "description": "The model routing preference.", - "type": "string", - "enumDescriptions": [ - "Unspecified model routing preference.", - "Prefer higher quality over low cost.", - "Balanced model routing preference.", - "Prefer lower cost over higher quality." - ], - "enum": [ - "UNKNOWN", - "PRIORITIZE_QUALITY", - "BALANCED", - "PRIORITIZE_COST" - ] - } - } - }, - "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode": { - "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode", - "description": "When manual routing is set, the specified model will be used directly.", - "type": "object", - "properties": { - "modelName": { - "description": "The model name to use. Only the public LLM models are accepted. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SpeechConfig": { - "id": "GoogleCloudAiplatformV1SpeechConfig", - "description": "The speech generation config.", - "type": "object", - "properties": { - "voiceConfig": { - "description": "The configuration for the speaker to use.", - "$ref": "GoogleCloudAiplatformV1VoiceConfig" - }, - "languageCode": { - "description": "Optional. Language code (ISO 639. e.g. en-US) for the speech synthesization.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1VoiceConfig": { - "id": "GoogleCloudAiplatformV1VoiceConfig", - "description": "The configuration for the voice to use.", - "type": "object", - "properties": { - "prebuiltVoiceConfig": { - "description": "The configuration for the prebuilt voice to use.", - "$ref": "GoogleCloudAiplatformV1PrebuiltVoiceConfig" - } - } - }, - "GoogleCloudAiplatformV1PrebuiltVoiceConfig": { - "id": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", - "description": "The configuration for the prebuilt speaker to use.", - "type": "object", - "properties": { - "voiceName": { - "description": "The name of the preset voice to use.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GenerationConfigThinkingConfig": { - "id": "GoogleCloudAiplatformV1GenerationConfigThinkingConfig", - "description": "Config for thinking features.", - "type": "object", - "properties": { - "includeThoughts": { - "description": "Optional. Indicates whether to include thoughts in the response. If true, thoughts are returned only when available.", - "type": "boolean" - }, - "thinkingBudget": { - "description": "Optional. Indicates the thinking budget in tokens.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1GenerateContentResponse": { - "id": "GoogleCloudAiplatformV1GenerateContentResponse", - "description": "Response message for [PredictionService.GenerateContent].", - "type": "object", - "properties": { - "candidates": { - "description": "Output only. Generated candidates.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Candidate" - } - }, - "modelVersion": { - "description": "Output only. The model version used to generate the response.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when the request is made to the server.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "responseId": { - "description": "Output only. response_id is used to identify each response. It is the encoding of the event_id.", - "readOnly": true, - "type": "string" - }, - "promptFeedback": { - "description": "Output only. Content filter results for a prompt sent in the request. Note: Sent only in the first stream chunk. Only happens when no candidates were generated due to content violations.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback" - }, - "usageMetadata": { - "description": "Usage metadata about the response(s).", - "$ref": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata" - } - } - }, - "GoogleCloudAiplatformV1Candidate": { - "id": "GoogleCloudAiplatformV1Candidate", - "description": "A response candidate generated from the model.", - "type": "object", - "properties": { - "index": { - "description": "Output only. Index of the candidate.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "content": { - "description": "Output only. Content parts of the candidate.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Content" - }, - "avgLogprobs": { - "description": "Output only. Average log probability score of the candidate.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "logprobsResult": { - "description": "Output only. Log-likelihood scores for the response tokens and top tokens", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1LogprobsResult" - }, - "finishReason": { - "description": "Output only. The reason why the model stopped generating tokens. If empty, the model has not stopped generating the tokens.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The finish reason is unspecified.", - "Token generation reached a natural stopping point or a configured stop sequence.", - "Token generation reached the configured maximum output tokens.", - "Token generation stopped because the content potentially contains safety violations. NOTE: When streaming, content is empty if content filters blocks the output.", - "The token generation stopped because of potential recitation.", - "All other reasons that stopped the token generation.", - "Token generation stopped because the content contains forbidden terms.", - "Token generation stopped for potentially containing prohibited content.", - "Token generation stopped because the content potentially contains Sensitive Personally Identifiable Information (SPII).", - "The function call generated by the model is invalid.", - "Token generation stopped because generated images has safety violations.", - "Image generation stopped because generated images has other prohibited content.", - "Image generation stopped due to recitation.", - "Image generation stopped because of other miscellaneous issue.", - "The tool call generated by the model is invalid." - ], - "enum": [ - "FINISH_REASON_UNSPECIFIED", - "STOP", - "MAX_TOKENS", - "SAFETY", - "RECITATION", - "OTHER", - "BLOCKLIST", - "PROHIBITED_CONTENT", - "SPII", - "MALFORMED_FUNCTION_CALL", - "IMAGE_SAFETY", - "IMAGE_PROHIBITED_CONTENT", - "IMAGE_RECITATION", - "IMAGE_OTHER", - "UNEXPECTED_TOOL_CALL" - ] - }, - "safetyRatings": { - "description": "Output only. List of ratings for the safety of a response candidate. There is at most one rating per category.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SafetyRating" - } - }, - "finishMessage": { - "description": "Output only. Describes the reason the mode stopped generating tokens in more detail. This is only filled when `finish_reason` is set.", - "readOnly": true, - "type": "string" - }, - "citationMetadata": { - "description": "Output only. Source attribution of the generated content.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CitationMetadata" - }, - "groundingMetadata": { - "description": "Output only. Metadata specifies sources used to ground generated content.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1GroundingMetadata" - }, - "urlContextMetadata": { - "description": "Output only. Metadata related to url context retrieval tool.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1UrlContextMetadata" - } - } - }, - "GoogleCloudAiplatformV1LogprobsResult": { - "id": "GoogleCloudAiplatformV1LogprobsResult", - "description": "Logprobs Result", - "type": "object", - "properties": { - "topCandidates": { - "description": "Length = total number of decoding steps.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1LogprobsResultTopCandidates" - } - }, - "chosenCandidates": { - "description": "Length = total number of decoding steps. The chosen candidates may or may not be in top_candidates.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" - } - } - } - }, - "GoogleCloudAiplatformV1LogprobsResultTopCandidates": { - "id": "GoogleCloudAiplatformV1LogprobsResultTopCandidates", - "description": "Candidates with top log probabilities at each decoding step.", - "type": "object", - "properties": { - "candidates": { - "description": "Sorted by log probability in descending order.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" - } - } - } - }, - "GoogleCloudAiplatformV1LogprobsResultCandidate": { - "id": "GoogleCloudAiplatformV1LogprobsResultCandidate", - "description": "Candidate for the logprobs token and score.", - "type": "object", - "properties": { - "token": { - "description": "The candidate's token string value.", - "type": "string" - }, - "tokenId": { - "description": "The candidate's token id value.", - "type": "integer", - "format": "int32" - }, - "logProbability": { - "description": "The candidate's log probability.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SafetyRating": { - "id": "GoogleCloudAiplatformV1SafetyRating", - "description": "Safety rating corresponding to the generated content.", - "type": "object", - "properties": { - "category": { - "description": "Output only. Harm category.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The harm category is unspecified.", - "The harm category is hate speech.", - "The harm category is dangerous content.", - "The harm category is harassment.", - "The harm category is sexually explicit content.", - "Deprecated: Election filter is not longer supported. The harm category is civic integrity.", - "The harm category is image hate.", - "The harm category is image dangerous content.", - "The harm category is image harassment.", - "The harm category is image sexually explicit content." - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enum": [ - "HARM_CATEGORY_UNSPECIFIED", - "HARM_CATEGORY_HATE_SPEECH", - "HARM_CATEGORY_DANGEROUS_CONTENT", - "HARM_CATEGORY_HARASSMENT", - "HARM_CATEGORY_SEXUALLY_EXPLICIT", - "HARM_CATEGORY_CIVIC_INTEGRITY", - "HARM_CATEGORY_IMAGE_HATE", - "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT", - "HARM_CATEGORY_IMAGE_HARASSMENT", - "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT" - ] - }, - "probability": { - "description": "Output only. Harm probability levels in the content.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Harm probability unspecified.", - "Negligible level of harm.", - "Low level of harm.", - "Medium level of harm.", - "High level of harm." - ], - "enum": [ - "HARM_PROBABILITY_UNSPECIFIED", - "NEGLIGIBLE", - "LOW", - "MEDIUM", - "HIGH" - ] - }, - "probabilityScore": { - "description": "Output only. Harm probability score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "severity": { - "description": "Output only. Harm severity levels in the content.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Harm severity unspecified.", - "Negligible level of harm severity.", - "Low level of harm severity.", - "Medium level of harm severity.", - "High level of harm severity." - ], - "enum": [ - "HARM_SEVERITY_UNSPECIFIED", - "HARM_SEVERITY_NEGLIGIBLE", - "HARM_SEVERITY_LOW", - "HARM_SEVERITY_MEDIUM", - "HARM_SEVERITY_HIGH" - ] - }, - "severityScore": { - "description": "Output only. Harm severity score.", - "readOnly": true, - "type": "number", - "format": "float" - }, - "blocked": { - "description": "Output only. Indicates whether the content was filtered out because of this rating.", - "readOnly": true, - "type": "boolean" - }, - "overwrittenThreshold": { - "description": "Output only. The overwritten threshold for the safety category of Gemini 2.0 image out. If minors are detected in the output image, the threshold of each safety category will be overwritten if user sets a lower threshold.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified harm block threshold.", - "Block low threshold and above (i.e. block more).", - "Block medium threshold and above.", - "Block only high threshold (i.e. block less).", - "Block none.", - "Turn off the safety filter." - ], - "enum": [ - "HARM_BLOCK_THRESHOLD_UNSPECIFIED", - "BLOCK_LOW_AND_ABOVE", - "BLOCK_MEDIUM_AND_ABOVE", - "BLOCK_ONLY_HIGH", - "BLOCK_NONE", - "OFF" - ] - } - } - }, - "GoogleCloudAiplatformV1CitationMetadata": { - "id": "GoogleCloudAiplatformV1CitationMetadata", - "description": "A collection of source attributions for a piece of content.", - "type": "object", - "properties": { - "citations": { - "description": "Output only. List of citations.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Citation" - } - } - } - }, - "GoogleCloudAiplatformV1Citation": { - "id": "GoogleCloudAiplatformV1Citation", - "description": "Source attributions for content.", - "type": "object", - "properties": { - "startIndex": { - "description": "Output only. Start index into the content.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "endIndex": { - "description": "Output only. End index into the content.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "uri": { - "description": "Output only. Url reference of the attribution.", - "readOnly": true, - "type": "string" - }, - "title": { - "description": "Output only. Title of the attribution.", - "readOnly": true, - "type": "string" - }, - "license": { - "description": "Output only. License of the attribution.", - "readOnly": true, - "type": "string" - }, - "publicationDate": { - "description": "Output only. Publication date of the attribution.", - "readOnly": true, - "$ref": "GoogleTypeDate" - } - } - }, - "GoogleTypeDate": { - "id": "GoogleTypeDate", - "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", - "type": "object", - "properties": { - "year": { - "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", - "type": "integer", - "format": "int32" - }, - "month": { - "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", - "type": "integer", - "format": "int32" - }, - "day": { - "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1GroundingMetadata": { - "id": "GoogleCloudAiplatformV1GroundingMetadata", - "description": "Metadata returned to client when grounding is enabled.", - "type": "object", - "properties": { - "webSearchQueries": { - "description": "Optional. Web search queries for the following-up web search.", - "type": "array", - "items": { - "type": "string" - } - }, - "searchEntryPoint": { - "description": "Optional. Google search entry for the following-up web searches.", - "$ref": "GoogleCloudAiplatformV1SearchEntryPoint" - }, - "groundingChunks": { - "description": "List of supporting references retrieved from specified grounding source.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1GroundingChunk" - } - }, - "groundingSupports": { - "description": "Optional. List of grounding support.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1GroundingSupport" - } - }, - "retrievalMetadata": { - "description": "Optional. Output only. Retrieval metadata.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1RetrievalMetadata" - }, - "googleMapsWidgetContextToken": { - "description": "Optional. Output only. Resource name of the Google Maps widget context token to be used with the PlacesContextElement widget to render contextual data. This is populated only for Google Maps grounding.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SearchEntryPoint": { - "id": "GoogleCloudAiplatformV1SearchEntryPoint", - "description": "Google search entry point.", - "type": "object", - "properties": { - "renderedContent": { - "description": "Optional. Web content snippet that can be embedded in a web page or an app webview.", - "type": "string" - }, - "sdkBlob": { - "description": "Optional. Base64 encoded JSON representing array of tuple.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunk": { - "id": "GoogleCloudAiplatformV1GroundingChunk", - "description": "Grounding chunk.", - "type": "object", - "properties": { - "web": { - "description": "Grounding chunk from the web.", - "$ref": "GoogleCloudAiplatformV1GroundingChunkWeb" - }, - "retrievedContext": { - "description": "Grounding chunk from context retrieved by the retrieval tools.", - "$ref": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext" - }, - "maps": { - "description": "Grounding chunk from Google Maps.", - "$ref": "GoogleCloudAiplatformV1GroundingChunkMaps" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkWeb": { - "id": "GoogleCloudAiplatformV1GroundingChunkWeb", - "description": "Chunk from the web.", - "type": "object", - "properties": { - "uri": { - "description": "URI reference of the chunk.", - "type": "string" - }, - "title": { - "description": "Title of the chunk.", - "type": "string" - }, - "domain": { - "description": "Domain of the (original) URI.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkRetrievedContext": { - "id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", - "description": "Chunk from context retrieved by the retrieval tools.", - "type": "object", - "properties": { - "ragChunk": { - "description": "Additional context for the RAG retrieval result. This is only populated when using the RAG retrieval tool.", - "$ref": "GoogleCloudAiplatformV1RagChunk" - }, - "uri": { - "description": "URI reference of the attribution.", - "type": "string" - }, - "title": { - "description": "Title of the attribution.", - "type": "string" - }, - "text": { - "description": "Text of the attribution.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagChunk": { - "id": "GoogleCloudAiplatformV1RagChunk", - "description": "A RagChunk includes the content of a chunk of a RagFile, and associated metadata.", - "type": "object", - "properties": { - "text": { - "description": "The content of the chunk.", - "type": "string" - }, - "pageSpan": { - "description": "If populated, represents where the chunk starts and ends in the document.", - "$ref": "GoogleCloudAiplatformV1RagChunkPageSpan" - } - } - }, - "GoogleCloudAiplatformV1RagChunkPageSpan": { - "id": "GoogleCloudAiplatformV1RagChunkPageSpan", - "description": "Represents where the chunk starts and ends in the document.", - "type": "object", - "properties": { - "firstPage": { - "description": "Page where chunk starts in the document. Inclusive. 1-indexed.", - "type": "integer", - "format": "int32" - }, - "lastPage": { - "description": "Page where chunk ends in the document. Inclusive. 1-indexed.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkMaps": { - "id": "GoogleCloudAiplatformV1GroundingChunkMaps", - "description": "Chunk from Google Maps.", - "type": "object", - "properties": { - "uri": { - "description": "URI reference of the chunk.", - "type": "string" - }, - "title": { - "description": "Title of the chunk.", - "type": "string" - }, - "text": { - "description": "Text of the chunk.", - "type": "string" - }, - "placeId": { - "description": "This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place.", - "type": "string" - }, - "placeAnswerSources": { - "description": "Sources used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as uris to flag content.", - "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources": { - "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources", - "description": "Sources used to generate the place answer.", - "type": "object", - "properties": { - "reviewSnippets": { - "description": "Snippets of reviews that are used to generate the answer.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" - } - }, - "flagContentUri": { - "description": "A link where users can flag a problem with the generated answer.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { - "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", - "description": "Encapsulates a review snippet.", - "type": "object", - "properties": { - "review": { - "description": "A reference representing this place review which may be used to look up this place review again.", - "type": "string" - }, - "authorAttribution": { - "description": "This review's author.", - "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution" - }, - "relativePublishTimeDescription": { - "description": "A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country.", - "type": "string" - }, - "flagContentUri": { - "description": "A link where users can flag a problem with the review.", - "type": "string" - }, - "googleMapsUri": { - "description": "A link to show the review on Google Maps.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution": { - "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", - "description": "Author attribution for a photo or review.", - "type": "object", - "properties": { - "displayName": { - "description": "Name of the author of the Photo or Review.", - "type": "string" - }, - "uri": { - "description": "URI of the author of the Photo or Review.", - "type": "string" - }, - "photoUri": { - "description": "Profile photo URI of the author of the Photo or Review.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GroundingSupport": { - "id": "GoogleCloudAiplatformV1GroundingSupport", - "description": "Grounding support.", - "type": "object", - "properties": { - "segment": { - "description": "Segment of the content this support belongs to.", - "$ref": "GoogleCloudAiplatformV1Segment" - }, - "groundingChunkIndices": { - "description": "A list of indices (into 'grounding_chunk') specifying the citations associated with the claim. For instance [1,3,4] means that grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the retrieved content attributed to the claim.", - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "confidenceScores": { - "description": "Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. For Gemini 2.0 and before, this list must have the same size as the grounding_chunk_indices. For Gemini 2.5 and after, this list will be empty and should be ignored.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1Segment": { - "id": "GoogleCloudAiplatformV1Segment", - "description": "Segment of the content.", - "type": "object", - "properties": { - "partIndex": { - "description": "Output only. The index of a Part object within its parent Content object.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "startIndex": { - "description": "Output only. Start index in the given Part, measured in bytes. Offset from the start of the Part, inclusive, starting at zero.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "endIndex": { - "description": "Output only. End index in the given Part, measured in bytes. Offset from the start of the Part, exclusive, starting at zero.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "text": { - "description": "Output only. The text corresponding to the segment from the response.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RetrievalMetadata": { - "id": "GoogleCloudAiplatformV1RetrievalMetadata", - "description": "Metadata related to retrieval in the grounding flow.", - "type": "object", - "properties": { - "googleSearchDynamicRetrievalScore": { - "description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1UrlContextMetadata": { - "id": "GoogleCloudAiplatformV1UrlContextMetadata", - "description": "Metadata related to url context retrieval tool.", - "type": "object", - "properties": { - "urlMetadata": { - "description": "Output only. List of url context.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1UrlMetadata" - } - } - } - }, - "GoogleCloudAiplatformV1UrlMetadata": { - "id": "GoogleCloudAiplatformV1UrlMetadata", - "description": "Context of the a single url retrieval.", - "type": "object", - "properties": { - "retrievedUrl": { - "description": "Retrieved url by the tool.", - "type": "string" - }, - "urlRetrievalStatus": { - "description": "Status of the url retrieval.", - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Url retrieval is successful.", - "Url retrieval is failed due to error." - ], - "enum": [ - "URL_RETRIEVAL_STATUS_UNSPECIFIED", - "URL_RETRIEVAL_STATUS_SUCCESS", - "URL_RETRIEVAL_STATUS_ERROR" - ] - } - } - }, - "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback": { - "id": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback", - "description": "Content filter results for a prompt sent in the request.", - "type": "object", - "properties": { - "blockReason": { - "description": "Output only. Blocked reason.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified blocked reason.", - "Candidates blocked due to safety.", - "Candidates blocked due to other reason.", - "Candidates blocked due to the terms which are included from the terminology blocklist.", - "Candidates blocked due to prohibited content.", - "Candidates blocked due to unsafe image generation content." - ], - "enum": [ - "BLOCKED_REASON_UNSPECIFIED", - "SAFETY", - "OTHER", - "BLOCKLIST", - "PROHIBITED_CONTENT", - "IMAGE_SAFETY" - ] - }, - "safetyRatings": { - "description": "Output only. Safety ratings.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SafetyRating" - } - }, - "blockReasonMessage": { - "description": "Output only. A readable block reason message.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata": { - "id": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", - "description": "Usage metadata about response(s).", - "type": "object", - "properties": { - "promptTokenCount": { - "description": "Number of tokens in the request. When `cached_content` is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content.", - "type": "integer", - "format": "int32" - }, - "candidatesTokenCount": { - "description": "Number of tokens in the response(s).", - "type": "integer", - "format": "int32" - }, - "toolUsePromptTokenCount": { - "description": "Output only. Number of tokens present in tool-use prompt(s).", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "thoughtsTokenCount": { - "description": "Output only. Number of tokens present in thoughts output.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "totalTokenCount": { - "description": "Total token count for prompt, response candidates, and tool-use prompts (if present).", - "type": "integer", - "format": "int32" - }, - "cachedContentTokenCount": { - "description": "Output only. Number of tokens in the cached part in the input (the cached content).", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "promptTokensDetails": { - "description": "Output only. List of modalities that were processed in the request input.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" - } - }, - "cacheTokensDetails": { - "description": "Output only. List of modalities of the cached content in the request input.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" - } - }, - "candidatesTokensDetails": { - "description": "Output only. List of modalities that were returned in the response.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" - } - }, - "toolUsePromptTokensDetails": { - "description": "Output only. List of modalities that were processed for tool-use request inputs.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" - } - }, - "trafficType": { - "description": "Output only. Traffic type. This shows whether a request consumes Pay-As-You-Go or Provisioned Throughput quota.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified request traffic type.", - "Type for Pay-As-You-Go traffic.", - "Type for Provisioned Throughput traffic." - ], - "enum": [ - "TRAFFIC_TYPE_UNSPECIFIED", - "ON_DEMAND", - "PROVISIONED_THROUGHPUT" - ] - } - } - }, - "GoogleCloudAiplatformV1ModalityTokenCount": { - "id": "GoogleCloudAiplatformV1ModalityTokenCount", - "description": "Represents token counting info for a single modality.", - "type": "object", - "properties": { - "modality": { - "description": "The modality associated with this token count.", - "type": "string", - "enumDescriptions": [ - "Unspecified modality.", - "Plain text.", - "Image.", - "Video.", - "Audio.", - "Document, e.g. PDF." - ], - "enum": [ - "MODALITY_UNSPECIFIED", - "TEXT", - "IMAGE", - "VIDEO", - "AUDIO", - "DOCUMENT" - ] - }, - "tokenCount": { - "description": "Number of tokens.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1CountTokensRequest": { - "id": "GoogleCloudAiplatformV1CountTokensRequest", - "description": "Request message for PredictionService.CountTokens.", - "type": "object", - "properties": { - "model": { - "description": "Optional. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", - "type": "string" - }, - "instances": { - "description": "Optional. The instances that are the input to token counting call. Schema is identical to the prediction schema of the underlying model.", - "type": "array", - "items": { - "type": "any" - } - }, - "contents": { - "description": "Optional. Input content.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "systemInstruction": { - "description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "tools": { - "description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - } - }, - "generationConfig": { - "description": "Optional. Generation config that the model will use to generate the response.", - "$ref": "GoogleCloudAiplatformV1GenerationConfig" - } - } - }, - "GoogleCloudAiplatformV1CountTokensResponse": { - "id": "GoogleCloudAiplatformV1CountTokensResponse", - "description": "Response message for PredictionService.CountTokens.", - "type": "object", - "properties": { - "totalTokens": { - "description": "The total number of tokens counted across all instances from the request.", - "type": "integer", - "format": "int32" - }, - "totalBillableCharacters": { - "description": "The total number of billable characters counted across all instances from the request.", - "type": "integer", - "format": "int32" - }, - "promptTokensDetails": { - "description": "Output only. List of modalities that were processed in the request input.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" - } - } - } - }, - "GoogleCloudAiplatformV1ComputeTokensRequest": { - "id": "GoogleCloudAiplatformV1ComputeTokensRequest", - "description": "Request message for ComputeTokens RPC call.", - "type": "object", - "properties": { - "instances": { - "description": "Optional. The instances that are the input to token computing API call. Schema is identical to the prediction schema of the text model, even for the non-text models, like chat models, or Codey models.", - "type": "array", - "items": { - "type": "any" - } - }, - "model": { - "description": "Optional. The name of the publisher model requested to serve the prediction. Format: projects/{project}/locations/{location}/publishers/*/models/*", - "type": "string" - }, - "contents": { - "description": "Optional. Input content.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - } - } - }, - "GoogleCloudAiplatformV1ComputeTokensResponse": { - "id": "GoogleCloudAiplatformV1ComputeTokensResponse", - "description": "Response message for ComputeTokens RPC call.", - "type": "object", - "properties": { - "tokensInfo": { - "description": "Lists of tokens info from the input. A ComputeTokensRequest could have multiple instances with a prompt in each instance. We also need to return lists of tokens info for the request with multiple instances.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TokensInfo" - } - } - } - }, - "GoogleCloudAiplatformV1TokensInfo": { - "id": "GoogleCloudAiplatformV1TokensInfo", - "description": "Tokens info with a list of tokens and the corresponding list of token ids.", - "type": "object", - "properties": { - "tokens": { - "description": "A list of tokens from the input.", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - }, - "tokenIds": { - "description": "A list of token ids from the input.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "role": { - "description": "Optional. Optional fields for the role from the corresponding Content.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsRequest": { - "id": "GoogleCloudAiplatformV1FindNeighborsRequest", - "description": "The request message for MatchService.FindNeighbors.", - "type": "object", - "properties": { - "deployedIndexId": { - "description": "The ID of the DeployedIndex that will serve the request. This request is sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index has a DeployedIndex.id field. The value of the field below must equal one of the DeployedIndex.id fields of the IndexEndpoint that is being called for this request.", - "type": "string" - }, - "queries": { - "description": "The list of queries.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQuery" - } - }, - "returnFullDatapoint": { - "description": "If set to true, the full datapoints (including all vector values and restricts) of the nearest neighbors are returned. Note that returning full datapoint will significantly increase the latency and cost of the query.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsRequestQuery": { - "id": "GoogleCloudAiplatformV1FindNeighborsRequestQuery", - "description": "A query to find a number of the nearest neighbors (most similar vectors) of a vector.", - "type": "object", - "properties": { - "rrf": { - "description": "Optional. Represents RRF algorithm that combines search results.", - "$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF" - }, - "datapoint": { - "description": "Required. The datapoint/vector whose nearest neighbors should be searched for.", - "$ref": "GoogleCloudAiplatformV1IndexDatapoint" - }, - "neighborCount": { - "description": "The number of nearest neighbors to be retrieved from database for each query. If not set, will use the default from the service configuration (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config).", - "type": "integer", - "format": "int32" - }, - "perCrowdingAttributeNeighborCount": { - "description": "Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity. This field is the maximum number of matches with the same crowding tag.", - "type": "integer", - "format": "int32" - }, - "approximateNeighborCount": { - "description": "The number of neighbors to find via approximate search before exact reordering is performed. If not set, the default value from scam config is used; if set, this value must be \u003e 0.", - "type": "integer", - "format": "int32" - }, - "fractionLeafNodesToSearchOverride": { - "description": "The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0. If not set or set to 0.0, query uses the default value specified in NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF": { - "id": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", - "description": "Parameters for RRF algorithm that combines search results.", - "type": "object", - "properties": { - "alpha": { - "description": "Required. Users can provide an alpha value to give more weight to dense vs sparse results. For example, if the alpha is 0, we only return sparse and if the alpha is 1, we only return dense.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsResponse": { - "id": "GoogleCloudAiplatformV1FindNeighborsResponse", - "description": "The response message for MatchService.FindNeighbors.", - "type": "object", - "properties": { - "nearestNeighbors": { - "description": "The nearest neighbors of the query datapoints.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors" - } - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors": { - "id": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors", - "description": "Nearest neighbors for one query.", - "type": "object", - "properties": { - "id": { - "description": "The ID of the query datapoint.", - "type": "string" - }, - "neighbors": { - "description": "All its neighbors.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor" - } - } - } - }, - "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor": { - "id": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor", - "description": "A neighbor of the query vector.", - "type": "object", - "properties": { - "datapoint": { - "description": "The datapoint of the neighbor. Note that full datapoints are returned only when \"return_full_datapoint\" is set to true. Otherwise, only the \"datapoint_id\" and \"crowding_tag\" fields are populated.", - "$ref": "GoogleCloudAiplatformV1IndexDatapoint" - }, - "distance": { - "description": "The distance between the neighbor and the dense embedding query.", - "type": "number", - "format": "double" - }, - "sparseDistance": { - "description": "The distance between the neighbor and the query sparse_embedding.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ReadIndexDatapointsRequest": { - "id": "GoogleCloudAiplatformV1ReadIndexDatapointsRequest", - "description": "The request message for MatchService.ReadIndexDatapoints.", - "type": "object", - "properties": { - "deployedIndexId": { - "description": "The ID of the DeployedIndex that will serve the request.", - "type": "string" - }, - "ids": { - "description": "IDs of the datapoints to be searched for.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ReadIndexDatapointsResponse": { - "id": "GoogleCloudAiplatformV1ReadIndexDatapointsResponse", - "description": "The response message for MatchService.ReadIndexDatapoints.", - "type": "object", - "properties": { - "datapoints": { - "description": "The result list of datapoints.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1IndexDatapoint" - } - } - } - }, - "GoogleCloudAiplatformV1MetadataStore": { - "id": "GoogleCloudAiplatformV1MetadataStore", - "description": "Instance of a metadata store. Contains a set of metadata that can be queried.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the MetadataStore instance.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this MetadataStore was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this MetadataStore was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a Metadata Store. If set, this Metadata Store and all sub-resources of this Metadata Store are secured using this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "description": { - "description": "Description of the MetadataStore.", - "type": "string" - }, - "state": { - "description": "Output only. State information of the MetadataStore.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState" - }, - "dataplexConfig": { - "description": "Optional. Dataplex integration settings.", - "$ref": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig" - } - } - }, - "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState": { - "id": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState", - "description": "Represents state information for a MetadataStore.", - "type": "object", - "properties": { - "diskUtilizationBytes": { - "description": "The disk utilization of the MetadataStore in bytes.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1MetadataStoreDataplexConfig": { - "id": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig", - "description": "Represents Dataplex integration settings.", - "type": "object", - "properties": { - "enabledPipelinesLineage": { - "description": "Optional. Whether or not Data Lineage synchronization is enabled for Vertex Pipelines.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ListMetadataStoresResponse": { - "id": "GoogleCloudAiplatformV1ListMetadataStoresResponse", - "description": "Response message for MetadataService.ListMetadataStores.", - "type": "object", - "properties": { - "metadataStores": { - "description": "The MetadataStores found for the Location.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MetadataStore" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListMetadataStoresRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Artifact": { - "id": "GoogleCloudAiplatformV1Artifact", - "description": "Instance of a general artifact.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the Artifact.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "User provided display name of the Artifact. May be up to 128 Unicode characters.", - "type": "string" - }, - "uri": { - "description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file.", - "type": "string" - }, - "etag": { - "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Artifact was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Artifact was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "state": { - "description": "The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions.", - "type": "string", - "enumDescriptions": [ - "Unspecified state for the Artifact.", - "A state used by systems like Vertex AI Pipelines to indicate that the underlying data item represented by this Artifact is being created.", - "A state indicating that the Artifact should exist, unless something external to the system deletes it." - ], - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "LIVE" - ] - }, - "schemaTitle": { - "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "schemaVersion": { - "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "metadata": { - "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "description": { - "description": "Description of the Artifact", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListArtifactsResponse": { - "id": "GoogleCloudAiplatformV1ListArtifactsResponse", - "description": "Response message for MetadataService.ListArtifacts.", - "type": "object", - "properties": { - "artifacts": { - "description": "The Artifacts retrieved from the MetadataStore.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Artifact" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListArtifactsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PurgeArtifactsRequest": { - "id": "GoogleCloudAiplatformV1PurgeArtifactsRequest", - "description": "Request message for MetadataService.PurgeArtifacts.", - "type": "object", - "properties": { - "filter": { - "description": "Required. A required filter matching the Artifacts to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", - "type": "string" - }, - "force": { - "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Artifact names that would be deleted.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1Context": { - "id": "GoogleCloudAiplatformV1Context", - "description": "Instance of a general context.", - "type": "object", - "properties": { - "name": { - "description": "Immutable. The resource name of the Context.", - "type": "string" - }, - "displayName": { - "description": "User provided display name of the Context. May be up to 128 Unicode characters.", - "type": "string" - }, - "etag": { - "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Context was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Context was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "parentContexts": { - "description": "Output only. A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "schemaTitle": { - "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "schemaVersion": { - "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "metadata": { - "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "description": { - "description": "Description of the Context", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListContextsResponse": { - "id": "GoogleCloudAiplatformV1ListContextsResponse", - "description": "Response message for MetadataService.ListContexts.", - "type": "object", - "properties": { - "contexts": { - "description": "The Contexts retrieved from the MetadataStore.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Context" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListContextsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PurgeContextsRequest": { - "id": "GoogleCloudAiplatformV1PurgeContextsRequest", - "description": "Request message for MetadataService.PurgeContexts.", - "type": "object", - "properties": { - "filter": { - "description": "Required. A required filter matching the Contexts to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", - "type": "string" - }, - "force": { - "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Context names that would be deleted.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest": { - "id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest", - "description": "Request message for MetadataService.AddContextArtifactsAndExecutions.", - "type": "object", - "properties": { - "artifacts": { - "description": "The resource names of the Artifacts to attribute to the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", - "type": "array", - "items": { - "type": "string" - } - }, - "executions": { - "description": "The resource names of the Executions to associate with the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse": { - "id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse", - "description": "Response message for MetadataService.AddContextArtifactsAndExecutions.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1AddContextChildrenRequest": { - "id": "GoogleCloudAiplatformV1AddContextChildrenRequest", - "description": "Request message for MetadataService.AddContextChildren.", - "type": "object", - "properties": { - "childContexts": { - "description": "The resource names of the child Contexts.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1AddContextChildrenResponse": { - "id": "GoogleCloudAiplatformV1AddContextChildrenResponse", - "description": "Response message for MetadataService.AddContextChildren.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RemoveContextChildrenRequest": { - "id": "GoogleCloudAiplatformV1RemoveContextChildrenRequest", - "description": "Request message for MetadataService.DeleteContextChildrenRequest.", - "type": "object", - "properties": { - "childContexts": { - "description": "The resource names of the child Contexts.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RemoveContextChildrenResponse": { - "id": "GoogleCloudAiplatformV1RemoveContextChildrenResponse", - "description": "Response message for MetadataService.RemoveContextChildren.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1LineageSubgraph": { - "id": "GoogleCloudAiplatformV1LineageSubgraph", - "description": "A subgraph of the overall lineage graph. Event edges connect Artifact and Execution nodes.", - "type": "object", - "properties": { - "artifacts": { - "description": "The Artifact nodes in the subgraph.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Artifact" - } - }, - "executions": { - "description": "The Execution nodes in the subgraph.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Execution" - } - }, - "events": { - "description": "The Event edges between Artifacts and Executions in the subgraph.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Event" - } - } - } - }, - "GoogleCloudAiplatformV1Execution": { - "id": "GoogleCloudAiplatformV1Execution", - "description": "Instance of a general execution.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the Execution.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "User provided display name of the Execution. May be up to 128 Unicode characters.", - "type": "string" - }, - "state": { - "description": "The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions.", - "type": "string", - "enumDescriptions": [ - "Unspecified Execution state", - "The Execution is new", - "The Execution is running", - "The Execution has finished running", - "The Execution has failed", - "The Execution completed through Cache hit.", - "The Execution was cancelled." - ], - "enum": [ - "STATE_UNSPECIFIED", - "NEW", - "RUNNING", - "COMPLETE", - "FAILED", - "CACHED", - "CANCELLED" - ] - }, - "etag": { - "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Execution was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Execution was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "schemaTitle": { - "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "schemaVersion": { - "description": "The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", - "type": "string" - }, - "metadata": { - "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "description": { - "description": "Description of the Execution", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Event": { - "id": "GoogleCloudAiplatformV1Event", - "description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", - "type": "object", - "properties": { - "artifact": { - "description": "Required. The relative resource name of the Artifact in the Event.", - "type": "string" - }, - "execution": { - "description": "Output only. The relative resource name of the Execution in the Event.", - "readOnly": true, - "type": "string" - }, - "eventTime": { - "description": "Output only. Time the Event occurred.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "type": { - "description": "Required. The type of the Event.", - "type": "string", - "enumDescriptions": [ - "Unspecified whether input or output of the Execution.", - "An input of the Execution.", - "An output of the Execution." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "INPUT", - "OUTPUT" - ] - }, - "labels": { - "description": "The labels with user-defined metadata to annotate Events. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Event (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ListExecutionsResponse": { - "id": "GoogleCloudAiplatformV1ListExecutionsResponse", - "description": "Response message for MetadataService.ListExecutions.", - "type": "object", - "properties": { - "executions": { - "description": "The Executions retrieved from the MetadataStore.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Execution" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListExecutionsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PurgeExecutionsRequest": { - "id": "GoogleCloudAiplatformV1PurgeExecutionsRequest", - "description": "Request message for MetadataService.PurgeExecutions.", - "type": "object", - "properties": { - "filter": { - "description": "Required. A required filter matching the Executions to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", - "type": "string" - }, - "force": { - "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Execution names that would be deleted.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1AddExecutionEventsRequest": { - "id": "GoogleCloudAiplatformV1AddExecutionEventsRequest", - "description": "Request message for MetadataService.AddExecutionEvents.", - "type": "object", - "properties": { - "events": { - "description": "The Events to create and add.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Event" - } - } - } - }, - "GoogleCloudAiplatformV1AddExecutionEventsResponse": { - "id": "GoogleCloudAiplatformV1AddExecutionEventsResponse", - "description": "Response message for MetadataService.AddExecutionEvents.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1MetadataSchema": { - "id": "GoogleCloudAiplatformV1MetadataSchema", - "description": "Instance of a general MetadataSchema.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the MetadataSchema.", - "readOnly": true, - "type": "string" - }, - "schemaVersion": { - "description": "The version of the MetadataSchema. The version's format must match the following regular expression: `^[0-9]+.+.+$`, which would allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc.", - "type": "string" - }, - "schema": { - "description": "Required. The raw YAML string representation of the MetadataSchema. The combination of [MetadataSchema.version] and the schema name given by `title` in [MetadataSchema.schema] must be unique within a MetadataStore. The schema is defined as an OpenAPI 3.0.2 [MetadataSchema Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject)", - "type": "string" - }, - "schemaType": { - "description": "The type of the MetadataSchema. This is a property that identifies which metadata types will use the MetadataSchema.", - "type": "string", - "enumDescriptions": [ - "Unspecified type for the MetadataSchema.", - "A type indicating that the MetadataSchema will be used by Artifacts.", - "A typee indicating that the MetadataSchema will be used by Executions.", - "A state indicating that the MetadataSchema will be used by Contexts." - ], - "enum": [ - "METADATA_SCHEMA_TYPE_UNSPECIFIED", - "ARTIFACT_TYPE", - "EXECUTION_TYPE", - "CONTEXT_TYPE" - ] - }, - "createTime": { - "description": "Output only. Timestamp when this MetadataSchema was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "description": { - "description": "Description of the Metadata Schema", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListMetadataSchemasResponse": { - "id": "GoogleCloudAiplatformV1ListMetadataSchemasResponse", - "description": "Response message for MetadataService.ListMetadataSchemas.", - "type": "object", - "properties": { - "metadataSchemas": { - "description": "The MetadataSchemas found for the MetadataStore.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MetadataSchema" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListMetadataSchemasRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SearchMigratableResourcesRequest": { - "id": "GoogleCloudAiplatformV1SearchMigratableResourcesRequest", - "description": "Request message for MigrationService.SearchMigratableResources.", - "type": "object", - "properties": { - "pageSize": { - "description": "The standard page size. The default and maximum value is 100.", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard page token.", - "type": "string" - }, - "filter": { - "description": "A filter for your search. You can use the following types of filters: * Resource type filters. The following strings filter for a specific type of MigratableResource: * `ml_engine_model_version:*` * `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` * \"Migrated or not\" filters. The following strings filter for resources that either have or have not already been migrated: * `last_migrate_time:*` filters for migrated resources. * `NOT last_migrate_time:*` filters for not yet migrated resources.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SearchMigratableResourcesResponse": { - "id": "GoogleCloudAiplatformV1SearchMigratableResourcesResponse", - "description": "Response message for MigrationService.SearchMigratableResources.", - "type": "object", - "properties": { - "migratableResources": { - "description": "All migratable resources that can be migrated to the location specified in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MigratableResource" - } - }, - "nextPageToken": { - "description": "The standard next-page token. The migratable_resources may not fill page_size in SearchMigratableResourcesRequest even when there are subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigratableResource": { - "id": "GoogleCloudAiplatformV1MigratableResource", - "description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", - "type": "object", - "properties": { - "mlEngineModelVersion": { - "description": "Output only. Represents one Version in ml.googleapis.com.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion" - }, - "automlModel": { - "description": "Output only. Represents one Model in automl.googleapis.com.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlModel" - }, - "automlDataset": { - "description": "Output only. Represents one Dataset in automl.googleapis.com.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset" - }, - "dataLabelingDataset": { - "description": "Output only. Represents one Dataset in datalabeling.googleapis.com.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset" - }, - "lastMigrateTime": { - "description": "Output only. Timestamp when the last migration attempt on this MigratableResource started. Will not be set if there's no migration attempt on this MigratableResource.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "lastUpdateTime": { - "description": "Output only. Timestamp when this MigratableResource was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion": { - "id": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion", - "description": "Represents one model Version in ml.googleapis.com.", - "type": "object", - "properties": { - "endpoint": { - "description": "The ml.googleapis.com endpoint that this model Version currently lives in. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", - "type": "string" - }, - "version": { - "description": "Full resource name of ml engine model Version. Format: `projects/{project}/models/{model}/versions/{version}`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigratableResourceAutomlModel": { - "id": "GoogleCloudAiplatformV1MigratableResourceAutomlModel", - "description": "Represents one Model in automl.googleapis.com.", - "type": "object", - "properties": { - "model": { - "description": "Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", - "type": "string" - }, - "modelDisplayName": { - "description": "The Model's display name in automl.googleapis.com.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigratableResourceAutomlDataset": { - "id": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset", - "description": "Represents one Dataset in automl.googleapis.com.", - "type": "object", - "properties": { - "dataset": { - "description": "Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", - "type": "string" - }, - "datasetDisplayName": { - "description": "The Dataset's display name in automl.googleapis.com.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset": { - "id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset", - "description": "Represents one Dataset in datalabeling.googleapis.com.", - "type": "object", - "properties": { - "dataset": { - "description": "Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", - "type": "string" - }, - "datasetDisplayName": { - "description": "The Dataset's display name in datalabeling.googleapis.com.", - "type": "string" - }, - "dataLabelingAnnotatedDatasets": { - "description": "The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to the data labeling Dataset.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset" - } - } - } - }, - "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset": { - "id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset", - "description": "Represents one AnnotatedDataset in datalabeling.googleapis.com.", - "type": "object", - "properties": { - "annotatedDataset": { - "description": "Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", - "type": "string" - }, - "annotatedDatasetDisplayName": { - "description": "The AnnotatedDataset's display name in datalabeling.googleapis.com.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchMigrateResourcesRequest": { - "id": "GoogleCloudAiplatformV1BatchMigrateResourcesRequest", - "description": "Request message for MigrationService.BatchMigrateResources.", - "type": "object", - "properties": { - "migrateResourceRequests": { - "description": "Required. The request messages specifying the resources to migrate. They must be in the same location as the destination. Up to 50 resources can be migrated in one batch.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequest" - } - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequest": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequest", - "description": "Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI.", - "type": "object", - "properties": { - "migrateMlEngineModelVersionConfig": { - "description": "Config for migrating Version in ml.googleapis.com to Vertex AI's Model.", - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig" - }, - "migrateAutomlModelConfig": { - "description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig" - }, - "migrateAutomlDatasetConfig": { - "description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig" - }, - "migrateDataLabelingDatasetConfig": { - "description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig" - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig", - "description": "Config for migrating version in ml.googleapis.com to Vertex AI's Model.", - "type": "object", - "properties": { - "endpoint": { - "description": "Required. The ml.googleapis.com endpoint that this model version should be migrated from. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", - "type": "string" - }, - "modelVersion": { - "description": "Required. Full resource name of ml engine model version. Format: `projects/{project}/models/{model}/versions/{version}`.", - "type": "string" - }, - "modelDisplayName": { - "description": "Required. Display name of the model in Vertex AI. System will pick a display name if unspecified.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig", - "description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", - "type": "object", - "properties": { - "model": { - "description": "Required. Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", - "type": "string" - }, - "modelDisplayName": { - "description": "Optional. Display name of the model in Vertex AI. System will pick a display name if unspecified.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig", - "description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", - "type": "object", - "properties": { - "dataset": { - "description": "Required. Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", - "type": "string" - }, - "datasetDisplayName": { - "description": "Required. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig", - "description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", - "type": "object", - "properties": { - "dataset": { - "description": "Required. Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", - "type": "string" - }, - "datasetDisplayName": { - "description": "Optional. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", - "type": "string" - }, - "migrateDataLabelingAnnotatedDatasetConfigs": { - "description": "Optional. Configs for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified AnnotatedDatasets have to belong to the datalabeling Dataset.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig" - } - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig": { - "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig", - "description": "Config for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery.", - "type": "object", - "properties": { - "annotatedDataset": { - "description": "Required. Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UploadModelRequest": { - "id": "GoogleCloudAiplatformV1UploadModelRequest", - "description": "Request message for ModelService.UploadModel.", - "type": "object", - "properties": { - "parentModel": { - "description": "Optional. The resource name of the model into which to upload the version. Only specify this field when uploading a new version.", - "type": "string" - }, - "modelId": { - "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", - "type": "string" - }, - "model": { - "description": "Required. The Model to create.", - "$ref": "GoogleCloudAiplatformV1Model" - }, - "serviceAccount": { - "description": "Optional. The user-provided custom service account to use to do the model upload. If empty, [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used to access resources needed to upload the model. This account must belong to the target project where the model is uploaded to, i.e., the project specified in the `parent` field of this request and have necessary read permissions (to Google Cloud Storage, Artifact Registry, etc.).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Model": { - "id": "GoogleCloudAiplatformV1Model", - "description": "A trained machine learning Model.", - "type": "object", - "properties": { - "name": { - "description": "The resource name of the Model.", - "type": "string" - }, - "versionId": { - "description": "Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation.", - "readOnly": true, - "type": "string" - }, - "versionAliases": { - "description": "User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model.", - "type": "array", - "items": { - "type": "string" - } - }, - "versionCreateTime": { - "description": "Output only. Timestamp when this version was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "versionUpdateTime": { - "description": "Output only. Timestamp when this version was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "displayName": { - "description": "Required. The display name of the Model. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the Model.", - "type": "string" - }, - "versionDescription": { - "description": "The description of this version.", - "type": "string" - }, - "defaultCheckpointId": { - "description": "The default checkpoint id of a model version.", - "type": "string" - }, - "predictSchemata": { - "description": "The schemata that describe formats of the Model's predictions and explanations as given and returned via PredictionService.Predict and PredictionService.Explain.", - "$ref": "GoogleCloudAiplatformV1PredictSchemata" - }, - "metadataSchemaUri": { - "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "metadata": { - "description": "Immutable. An additional information about the Model; the schema of the metadata can be found in metadata_schema. Unset if the Model does not have any additional information.", - "type": "any" - }, - "supportedExportFormats": { - "description": "Output only. The formats in which this Model may be exported. If empty, this Model is not available for export.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelExportFormat" - } - }, - "trainingPipeline": { - "description": "Output only. The resource name of the TrainingPipeline that uploaded this Model, if any.", - "readOnly": true, - "type": "string" - }, - "pipelineJob": { - "description": "Optional. This field is populated if the model is produced by a pipeline job.", - "type": "string" - }, - "containerSpec": { - "description": "Input only. The specification of the container that is to be used when deploying this Model. The specification is ingested upon ModelService.UploadModel, and all binaries it contains are copied and stored internally by Vertex AI. Not required for AutoML Models.", - "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" - }, - "artifactUri": { - "description": "Immutable. The path to the directory containing the Model artifact and any of its supporting files. Not required for AutoML Models.", - "type": "string" - }, - "supportedDeploymentResourcesTypes": { - "description": "Output only. When this Model is deployed, its prediction resources are described by the `prediction_resources` field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supported_input_storage_formats and supported_output_storage_formats.", - "readOnly": true, - "type": "array", - "items": { - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "Resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", - "Resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", - "Resources that can be shared by multiple DeployedModels. A pre-configured DeploymentResourcePool is required." - ], - "enum": [ - "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED", - "DEDICATED_RESOURCES", - "AUTOMATIC_RESOURCES", - "SHARED_RESOURCES" - ] - } - }, - "supportedInputStorageFormats": { - "description": "Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema. The possible formats are: * `jsonl` The JSON Lines format, where each instance is a single line. Uses GcsSource. * `csv` The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsSource. * `tf-record` The TFRecord format, where each instance is a single record in tfrecord syntax. Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the location of an instance to process, uses `gcs_source` field of the InputConfig object. If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "supportedOutputStorageFormats": { - "description": "Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema). The possible formats are: * `jsonl` The JSON Lines format, where each prediction is a single line. Uses GcsDestination. * `csv` The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsDestination. * `bigquery` Each prediction is a single row in a BigQuery table, uses BigQueryDestination . If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "createTime": { - "description": "Output only. Timestamp when this Model was uploaded into Vertex AI.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Model was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "deployedModels": { - "description": "Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1DeployedModelRef" - } - }, - "explanationSpec": { - "description": "The default explanation specification for this Model. The Model can be used for requesting explanation after being deployed if it is populated. The Model can be used for batch explanation if it is populated. All fields of the explanation_spec can be overridden by explanation_spec of DeployModelRequest.deployed_model, or explanation_spec of BatchPredictionJob. If the default explanation specification is not set for this Model, this Model can still be used for requesting explanation by setting explanation_spec of DeployModelRequest.deployed_model and for batch explanation by setting explanation_spec of BatchPredictionJob.", - "$ref": "GoogleCloudAiplatformV1ExplanationSpec" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dataStats": { - "description": "Stats of data used for training or evaluating the Model. Only populated when the Model is trained by a TrainingPipeline with data_input_config.", - "$ref": "GoogleCloudAiplatformV1ModelDataStats" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a Model. If set, this Model and all sub-resources of this Model will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "modelSourceInfo": { - "description": "Output only. Source of a model. It can either be automl training pipeline, custom training pipeline, BigQuery ML, or saved and tuned from Genie or Model Garden.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelSourceInfo" - }, - "originalModelInfo": { - "description": "Output only. If this Model is a copy of another Model, this contains info about the original.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelOriginalModelInfo" - }, - "metadataArtifact": { - "description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", - "readOnly": true, - "type": "string" - }, - "baseModelSource": { - "description": "Optional. User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", - "$ref": "GoogleCloudAiplatformV1ModelBaseModelSource" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "checkpoints": { - "description": "Optional. Output only. The checkpoints of the model.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Checkpoint" - } - } - } - }, - "GoogleCloudAiplatformV1ModelExportFormat": { - "id": "GoogleCloudAiplatformV1ModelExportFormat", - "description": "Represents export format supported by the Model. All formats export to Google Cloud Storage.", - "type": "object", - "properties": { - "id": { - "description": "Output only. The ID of the export format. The possible format IDs are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript. * `core-ml` Used for iOS mobile devices. * `custom-trained` A Model that was uploaded or trained by custom code. * `genie` A tuned Model Garden model.", - "readOnly": true, - "type": "string" - }, - "exportableContents": { - "description": "Output only. The content of this Model that may be exported.", - "readOnly": true, - "type": "array", - "items": { - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "Model artifact and any of its supported files. Will be exported to the location specified by the `artifactDestination` field of the ExportModelRequest.output_config object.", - "The container image that is to be used when deploying this Model. Will be exported to the location specified by the `imageDestination` field of the ExportModelRequest.output_config object." - ], - "enum": [ - "EXPORTABLE_CONTENT_UNSPECIFIED", - "ARTIFACT", - "IMAGE" - ] - } - } - } - }, - "GoogleCloudAiplatformV1ModelDataStats": { - "id": "GoogleCloudAiplatformV1ModelDataStats", - "description": "Stats of data used for train or evaluate the Model.", - "type": "object", - "properties": { - "trainingDataItemsCount": { - "description": "Number of DataItems that were used for training this Model.", - "type": "string", - "format": "int64" - }, - "validationDataItemsCount": { - "description": "Number of DataItems that were used for validating this Model during training.", - "type": "string", - "format": "int64" - }, - "testDataItemsCount": { - "description": "Number of DataItems that were used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test DataItems used by the first evaluation. If the Model is not evaluated, the number is 0.", - "type": "string", - "format": "int64" - }, - "trainingAnnotationsCount": { - "description": "Number of Annotations that are used for training this Model.", - "type": "string", - "format": "int64" - }, - "validationAnnotationsCount": { - "description": "Number of Annotations that are used for validating this Model during training.", - "type": "string", - "format": "int64" - }, - "testAnnotationsCount": { - "description": "Number of Annotations that are used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test Annotations used by the first evaluation. If the Model is not evaluated, the number is 0.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ModelSourceInfo": { - "id": "GoogleCloudAiplatformV1ModelSourceInfo", - "description": "Detail description of the source information of the model.", - "type": "object", - "properties": { - "sourceType": { - "description": "Type of the model source.", - "type": "string", - "enumDescriptions": [ - "Should not be used.", - "The Model is uploaded by automl training pipeline.", - "The Model is uploaded by user or custom training pipeline.", - "The Model is registered and sync'ed from BigQuery ML.", - "The Model is saved or tuned from Model Garden.", - "The Model is saved or tuned from Genie.", - "The Model is uploaded by text embedding finetuning pipeline.", - "The Model is saved or tuned from Marketplace." - ], - "enum": [ - "MODEL_SOURCE_TYPE_UNSPECIFIED", - "AUTOML", - "CUSTOM", - "BQML", - "MODEL_GARDEN", - "GENIE", - "CUSTOM_TEXT_EMBEDDING", - "MARKETPLACE" - ] - }, - "copy": { - "description": "If this Model is copy of another Model. If true then source_type pertains to the original.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ModelOriginalModelInfo": { - "id": "GoogleCloudAiplatformV1ModelOriginalModelInfo", - "description": "Contains information about the original Model if this Model is a copy.", - "type": "object", - "properties": { - "model": { - "description": "Output only. The resource name of the Model this Model is a copy of, including the revision. Format: `projects/{project}/locations/{location}/models/{model_id}@{version_id}`", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ModelBaseModelSource": { - "id": "GoogleCloudAiplatformV1ModelBaseModelSource", - "description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", - "type": "object", - "properties": { - "modelGardenSource": { - "description": "Source information of Model Garden models.", - "$ref": "GoogleCloudAiplatformV1ModelGardenSource" - }, - "genieSource": { - "description": "Information about the base model of Genie models.", - "$ref": "GoogleCloudAiplatformV1GenieSource" - } - } - }, - "GoogleCloudAiplatformV1ModelGardenSource": { - "id": "GoogleCloudAiplatformV1ModelGardenSource", - "description": "Contains information about the source of the models generated from Model Garden.", - "type": "object", - "properties": { - "publicModelName": { - "description": "Required. The model garden source model resource name.", - "type": "string" - }, - "versionId": { - "description": "Optional. The model garden source model version ID.", - "type": "string" - }, - "skipHfModelCache": { - "description": "Optional. Whether to avoid pulling the model from the HF cache.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1GenieSource": { - "id": "GoogleCloudAiplatformV1GenieSource", - "description": "Contains information about the source of the models generated from Generative AI Studio.", - "type": "object", - "properties": { - "baseModelUri": { - "description": "Required. The public base model URI.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Checkpoint": { - "id": "GoogleCloudAiplatformV1Checkpoint", - "description": "Describes the machine learning model version checkpoint.", - "type": "object", - "properties": { - "checkpointId": { - "description": "The ID of the checkpoint.", - "type": "string" - }, - "epoch": { - "description": "The epoch of the checkpoint.", - "type": "string", - "format": "int64" - }, - "step": { - "description": "The step of the checkpoint.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ListModelsResponse": { - "id": "GoogleCloudAiplatformV1ListModelsResponse", - "description": "Response message for ModelService.ListModels", - "type": "object", - "properties": { - "models": { - "description": "List of Models in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Model" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListModelsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListModelVersionsResponse": { - "id": "GoogleCloudAiplatformV1ListModelVersionsResponse", - "description": "Response message for ModelService.ListModelVersions", - "type": "object", - "properties": { - "models": { - "description": "List of Model versions in the requested page. In the returned Model name field, version ID instead of regvision tag will be included.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Model" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListModelVersionsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse": { - "id": "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse", - "description": "Response message for ModelService.ListModelVersionCheckpoints", - "type": "object", - "properties": { - "checkpoints": { - "description": "List of Model Version checkpoints.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelVersionCheckpoint" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListModelVersionCheckpointsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ModelVersionCheckpoint": { - "id": "GoogleCloudAiplatformV1ModelVersionCheckpoint", - "deprecated": true, - "description": "Describes the machine learning model version checkpoint.", - "type": "object", - "properties": { - "checkpointId": { - "description": "The ID of the checkpoint.", - "type": "string" - }, - "epoch": { - "description": "The epoch of the checkpoint.", - "type": "string", - "format": "int64" - }, - "step": { - "description": "The step of the checkpoint.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest": { - "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest", - "description": "Request message for ModelService.UpdateExplanationDataset.", - "type": "object", - "properties": { - "examples": { - "description": "The example config containing the location of the dataset.", - "$ref": "GoogleCloudAiplatformV1Examples" - } - } - }, - "GoogleCloudAiplatformV1MergeVersionAliasesRequest": { - "id": "GoogleCloudAiplatformV1MergeVersionAliasesRequest", - "description": "Request message for ModelService.MergeVersionAliases.", - "type": "object", - "properties": { - "versionAliases": { - "description": "Required. The set of version aliases to merge. The alias should be at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add the `-` prefix to an alias means removing that alias from the version. `-` is NOT counted in the 128 characters. Example: `-golden` means removing the `golden` alias from the version. There is NO ordering in aliases, which means 1) The aliases returned from GetModel API might not have the exactly same order from this MergeVersionAliases API. 2) Adding and deleting the same alias in the request is not recommended, and the 2 operations will be cancelled out.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ExportModelRequest": { - "id": "GoogleCloudAiplatformV1ExportModelRequest", - "description": "Request message for ModelService.ExportModel.", - "type": "object", - "properties": { - "outputConfig": { - "description": "Required. The desired output location and configuration.", - "$ref": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig" - } - } - }, - "GoogleCloudAiplatformV1ExportModelRequestOutputConfig": { - "id": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig", - "description": "Output configuration for the Model export.", - "type": "object", - "properties": { - "exportFormatId": { - "description": "The ID of the format in which the Model must be exported. Each Model lists the export formats it supports. If no value is provided here, then the first from the list of the Model's supported formats is used by default.", - "type": "string" - }, - "artifactDestination": { - "description": "The Cloud Storage location where the Model artifact is to be written to. Under the directory given as the destination a new one with name \"`model-export--`\", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside, the Model and any of its supporting files will be written. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `ARTIFACT`.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "imageDestination": { - "description": "The Google Container Registry or Artifact Registry uri where the Model container image will be copied to. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `IMAGE`.", - "$ref": "GoogleCloudAiplatformV1ContainerRegistryDestination" - } - } - }, - "GoogleCloudAiplatformV1ContainerRegistryDestination": { - "id": "GoogleCloudAiplatformV1ContainerRegistryDestination", - "description": "The Container Registry location for the container image.", - "type": "object", - "properties": { - "outputUri": { - "description": "Required. Container Registry URI of a container image. Only Google Container Registry and Artifact Registry are supported now. Accepted forms: * Google Container Registry path. For example: `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For example: `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a tag is not specified, \"latest\" will be used as the default tag.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CopyModelRequest": { - "id": "GoogleCloudAiplatformV1CopyModelRequest", - "description": "Request message for ModelService.CopyModel.", - "type": "object", - "properties": { - "modelId": { - "description": "Optional. Copy source_model into a new Model with this ID. The ID will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", - "type": "string" - }, - "parentModel": { - "description": "Optional. Specify this field to copy source_model into this existing Model as a new version. Format: `projects/{project}/locations/{location}/models/{model}`", - "type": "string" - }, - "sourceModel": { - "description": "Required. The resource name of the Model to copy. That Model must be in the same Project. Format: `projects/{project}/locations/{location}/models/{model}`", - "type": "string" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key options. If this is set, then the Model copy will be encrypted with the provided encryption key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1ImportModelEvaluationRequest": { - "id": "GoogleCloudAiplatformV1ImportModelEvaluationRequest", - "description": "Request message for ModelService.ImportModelEvaluation", - "type": "object", - "properties": { - "modelEvaluation": { - "description": "Required. Model evaluation resource to be imported.", - "$ref": "GoogleCloudAiplatformV1ModelEvaluation" - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluation": { - "id": "GoogleCloudAiplatformV1ModelEvaluation", - "description": "A collection of metrics calculated by comparing Model's predictions on all of the test data against annotations from the test data.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the ModelEvaluation.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the ModelEvaluation.", - "type": "string" - }, - "metricsSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluation. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", - "type": "string" - }, - "metrics": { - "description": "Evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", - "type": "any" - }, - "createTime": { - "description": "Output only. Timestamp when this ModelEvaluation was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "sliceDimensions": { - "description": "All possible dimensions of ModelEvaluationSlices. The dimensions can be used as the filter of the ModelService.ListModelEvaluationSlices request, in the form of `slice.dimension = `.", - "type": "array", - "items": { - "type": "string" - } - }, - "dataItemSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.data_item_payload and EvaluatedAnnotation.data_item_payload. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", - "type": "string" - }, - "annotationSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.predictions, EvaluatedDataItemView.ground_truths, EvaluatedAnnotation.predictions, and EvaluatedAnnotation.ground_truths. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", - "type": "string" - }, - "modelExplanation": { - "description": "Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for AutoML tabular Models. ", - "$ref": "GoogleCloudAiplatformV1ModelExplanation" - }, - "explanationSpecs": { - "description": "Describes the values of ExplanationSpec that are used for explaining the predicted values on the evaluated data.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec" - } - }, - "metadata": { - "description": "The metadata of the ModelEvaluation. For the ModelEvaluation uploaded from Managed Pipeline, metadata contains a structured value with keys of \"pipeline_job_id\", \"evaluation_dataset_type\", \"evaluation_dataset_path\", \"row_based_metrics_path\".", - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1ModelExplanation": { - "id": "GoogleCloudAiplatformV1ModelExplanation", - "description": "Aggregated explanation metrics for a Model over a set of instances.", - "type": "object", - "properties": { - "meanAttributions": { - "description": "Output only. Aggregated attributions explaining the Model's prediction outputs over the set of instances. The attributions are grouped by outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. The baselineOutputValue, instanceOutputValue and featureAttributions fields are averaged over the test data. NOTE: Currently AutoML tabular classification Models produce only one attribution, which averages attributions over all the classes it predicts. Attribution.approximation_error is not populated.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Attribution" - } - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec": { - "id": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec", - "type": "object", - "properties": { - "explanationType": { - "description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", - "type": "string" - }, - "explanationSpec": { - "description": "Explanation spec details.", - "$ref": "GoogleCloudAiplatformV1ExplanationSpec" - } - } - }, - "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest": { - "id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest", - "description": "Request message for ModelService.BatchImportModelEvaluationSlices", - "type": "object", - "properties": { - "modelEvaluationSlices": { - "description": "Required. Model evaluation slice resource to be imported.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" - } - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSlice": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSlice", - "description": "A collection of metrics calculated by comparing Model's predictions on a slice of the test data against ground truth annotations.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the ModelEvaluationSlice.", - "readOnly": true, - "type": "string" - }, - "slice": { - "description": "Output only. The slice of the test data that is used to evaluate the Model.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice" - }, - "metricsSchemaUri": { - "description": "Output only. Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluationSlice. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", - "readOnly": true, - "type": "string" - }, - "metrics": { - "description": "Output only. Sliced evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", - "readOnly": true, - "type": "any" - }, - "createTime": { - "description": "Output only. Timestamp when this ModelEvaluationSlice was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "modelExplanation": { - "description": "Output only. Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for tabular Models.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelExplanation" - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSliceSlice": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice", - "description": "Definition of a slice.", - "type": "object", - "properties": { - "dimension": { - "description": "Output only. The dimension of the slice. Well-known dimensions are: * `annotationSpec`: This slice is on the test data that has either ground truth or prediction with AnnotationSpec.display_name equals to value. * `slice`: This slice is a user customized slice defined by its SliceSpec.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Output only. The value of the dimension in this slice.", - "readOnly": true, - "type": "string" - }, - "sliceSpec": { - "description": "Output only. Specification for how the data was sliced.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec" - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec", - "description": "Specification for how the data should be sliced.", - "type": "object", - "properties": { - "configs": { - "description": "Mapping configuration for this SliceSpec. The key is the name of the feature. By default, the key will be prefixed by \"instance\" as a dictionary prefix for Vertex Batch Predictions output format.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig" - } - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig", - "description": "Specification message containing the config for this SliceSpec. When `kind` is selected as `value` and/or `range`, only a single slice will be computed. When `all_values` is present, a separate slice will be computed for each possible label/value for the corresponding key in `config`. Examples, with feature zip_code with values 12345, 23334, 88888 and feature country with values \"US\", \"Canada\", \"Mexico\" in the dataset: Example 1: { \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } A single slice for any data with zip_code 12345 in the dataset. Example 2: { \"zip_code\": { \"range\": { \"low\": 12345, \"high\": 20000 } } } A single slice containing data where the zip_codes between 12345 and 20000 For this example, data with the zip_code of 12345 will be in this slice. Example 3: { \"zip_code\": { \"range\": { \"low\": 10000, \"high\": 20000 } }, \"country\": { \"value\": { \"string_value\": \"US\" } } } A single slice containing data where the zip_codes between 10000 and 20000 has the country \"US\". For this example, data with the zip_code of 12345 and country \"US\" will be in this slice. Example 4: { \"country\": {\"all_values\": { \"value\": true } } } Three slices are computed, one for each unique country in the dataset. Example 5: { \"country\": { \"all_values\": { \"value\": true } }, \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } Three slices are computed, one for each unique country in the dataset where the zip_code is also 12345. For this example, data with zip_code 12345 and country \"US\" will be in one slice, zip_code 12345 and country \"Canada\" in another slice, and zip_code 12345 and country \"Mexico\" in another slice, totaling 3 slices.", - "type": "object", - "properties": { - "value": { - "description": "A unique specific value for a given feature. Example: `{ \"value\": { \"string_value\": \"12345\" } }`", - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue" - }, - "range": { - "description": "A range of values for a numerical feature. Example: `{\"range\":{\"low\":10000.0,\"high\":50000.0}}` will capture 12345 and 23334 in the slice.", - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange" - }, - "allValues": { - "description": "If all_values is set to true, then all possible labels of the keyed feature will have another slice computed. Example: `{\"all_values\":{\"value\":true}}`", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue", - "description": "Single value that supports strings and floats.", - "type": "object", - "properties": { - "stringValue": { - "description": "String type.", - "type": "string" - }, - "floatValue": { - "description": "Float type.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange": { - "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange", - "description": "A range of values for slice(s). `low` is inclusive, `high` is exclusive.", - "type": "object", - "properties": { - "low": { - "description": "Inclusive low value for the range.", - "type": "number", - "format": "float" - }, - "high": { - "description": "Exclusive high value for the range.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse": { - "id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse", - "description": "Response message for ModelService.BatchImportModelEvaluationSlices", - "type": "object", - "properties": { - "importedModelEvaluationSlices": { - "description": "Output only. List of imported ModelEvaluationSlice.name.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest": { - "id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest", - "description": "Request message for ModelService.BatchImportEvaluatedAnnotations", - "type": "object", - "properties": { - "evaluatedAnnotations": { - "description": "Required. Evaluated annotations resource to be imported.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EvaluatedAnnotation" - } - } - } - }, - "GoogleCloudAiplatformV1EvaluatedAnnotation": { - "id": "GoogleCloudAiplatformV1EvaluatedAnnotation", - "description": "True positive, false positive, or false negative. EvaluatedAnnotation is only available under ModelEvaluationSlice with slice of `annotationSpec` dimension.", - "type": "object", - "properties": { - "type": { - "description": "Output only. Type of the EvaluatedAnnotation.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Invalid value.", - "The EvaluatedAnnotation is a true positive. It has a prediction created by the Model and a ground truth Annotation which the prediction matches.", - "The EvaluatedAnnotation is false positive. It has a prediction created by the Model which does not match any ground truth annotation.", - "The EvaluatedAnnotation is false negative. It has a ground truth annotation which is not matched by any of the model created predictions." - ], - "enum": [ - "EVALUATED_ANNOTATION_TYPE_UNSPECIFIED", - "TRUE_POSITIVE", - "FALSE_POSITIVE", - "FALSE_NEGATIVE" - ] - }, - "predictions": { - "description": "Output only. The model predicted annotations. For true positive, there is one and only one prediction, which matches the only one ground truth annotation in ground_truths. For false positive, there is one and only one prediction, which doesn't match any ground truth annotation of the corresponding data_item_view_id. For false negative, there are zero or more predictions which are similar to the only ground truth annotation in ground_truths but not enough for a match. The schema of the prediction is stored in ModelEvaluation.annotation_schema_uri", - "readOnly": true, - "type": "array", - "items": { - "type": "any" - } - }, - "groundTruths": { - "description": "Output only. The ground truth Annotations, i.e. the Annotations that exist in the test data the Model is evaluated on. For true positive, there is one and only one ground truth annotation, which matches the only prediction in predictions. For false positive, there are zero or more ground truth annotations that are similar to the only prediction in predictions, but not enough for a match. For false negative, there is one and only one ground truth annotation, which doesn't match any predictions created by the model. The schema of the ground truth is stored in ModelEvaluation.annotation_schema_uri", - "readOnly": true, - "type": "array", - "items": { - "type": "any" - } - }, - "dataItemPayload": { - "description": "Output only. The data item payload that the Model predicted this EvaluatedAnnotation on.", - "readOnly": true, - "type": "any" - }, - "evaluatedDataItemViewId": { - "description": "Output only. ID of the EvaluatedDataItemView under the same ancestor ModelEvaluation. The EvaluatedDataItemView consists of all ground truths and predictions on data_item_payload.", - "readOnly": true, - "type": "string" - }, - "explanations": { - "description": "Explanations of predictions. Each element of the explanations indicates the explanation for one explanation Method. The attributions list in the EvaluatedAnnotationExplanation.explanation object corresponds to the predictions list. For example, the second element in the attributions list explains the second element in the predictions list.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation" - } - }, - "errorAnalysisAnnotations": { - "description": "Annotations of model error analysis results.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation" - } - } - } - }, - "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation": { - "id": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation", - "description": "Explanation result of the prediction produced by the Model.", - "type": "object", - "properties": { - "explanationType": { - "description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", - "type": "string" - }, - "explanation": { - "description": "Explanation attribution response details.", - "$ref": "GoogleCloudAiplatformV1Explanation" - } - } - }, - "GoogleCloudAiplatformV1ErrorAnalysisAnnotation": { - "id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation", - "description": "Model error analysis for each annotation.", - "type": "object", - "properties": { - "attributedItems": { - "description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem" - } - }, - "queryType": { - "description": "The query type used for finding the attributed items.", - "type": "string", - "enumDescriptions": [ - "Unspecified query type for model error analysis.", - "Query similar samples across all classes in the dataset.", - "Query similar samples from the same class of the input sample.", - "Query dissimilar samples from the same class of the input sample." - ], - "enum": [ - "QUERY_TYPE_UNSPECIFIED", - "ALL_SIMILAR", - "SAME_CLASS_SIMILAR", - "SAME_CLASS_DISSIMILAR" - ] - }, - "outlierScore": { - "description": "The outlier score of this annotated item. Usually defined as the min of all distances from attributed items.", - "type": "number", - "format": "double" - }, - "outlierThreshold": { - "description": "The threshold used to determine if this annotation is an outlier or not.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem": { - "id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem", - "description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", - "type": "object", - "properties": { - "annotationResourceName": { - "description": "The unique ID for each annotation. Used by FE to allocate the annotation in DB.", - "type": "string" - }, - "distance": { - "description": "The distance of this item to the annotation.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse": { - "id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse", - "description": "Response message for ModelService.BatchImportEvaluatedAnnotations", - "type": "object", - "properties": { - "importedEvaluatedAnnotationsCount": { - "description": "Output only. Number of EvaluatedAnnotations imported.", - "readOnly": true, - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1ListModelEvaluationsResponse": { - "id": "GoogleCloudAiplatformV1ListModelEvaluationsResponse", - "description": "Response message for ModelService.ListModelEvaluations.", - "type": "object", - "properties": { - "modelEvaluations": { - "description": "List of ModelEvaluations in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelEvaluation" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListModelEvaluationsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse": { - "id": "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse", - "description": "Response message for ModelService.ListModelEvaluationSlices.", - "type": "object", - "properties": { - "modelEvaluationSlices": { - "description": "List of ModelEvaluations in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListModelEvaluationSlicesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NotebookRuntimeTemplate": { - "id": "GoogleCloudAiplatformV1NotebookRuntimeTemplate", - "description": "A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template.", - "type": "object", - "properties": { - "name": { - "description": "The resource name of the NotebookRuntimeTemplate.", - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the NotebookRuntimeTemplate.", - "type": "string" - }, - "isDefault": { - "description": "Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.", - "readOnly": true, - "deprecated": true, - "type": "boolean" - }, - "machineSpec": { - "description": "Optional. Immutable. The specification of a single machine for the template.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "dataPersistentDiskSpec": { - "description": "Optional. The specification of persistent disk attached to the runtime as data disk storage.", - "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" - }, - "networkSpec": { - "description": "Optional. Network spec.", - "$ref": "GoogleCloudAiplatformV1NetworkSpec" - }, - "serviceAccount": { - "description": "Deprecated: This field is ignored and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", - "deprecated": true, - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "idleShutdownConfig": { - "description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled.", - "$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig" - }, - "eucConfig": { - "description": "EUC configuration of the NotebookRuntimeTemplate.", - "$ref": "GoogleCloudAiplatformV1NotebookEucConfig" - }, - "createTime": { - "description": "Output only. Timestamp when this NotebookRuntimeTemplate was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "notebookRuntimeType": { - "description": "Optional. Immutable. The type of the notebook runtime template.", - "type": "string", - "enumDescriptions": [ - "Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", - "runtime or template with coustomized configurations from user.", - "runtime or template with system defined configurations." - ], - "enum": [ - "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", - "USER_DEFINED", - "ONE_CLICK" - ] - }, - "shieldedVmConfig": { - "description": "Optional. Immutable. Runtime Shielded VM spec.", - "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig" - }, - "networkTags": { - "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", - "type": "array", - "items": { - "type": "string" - } - }, - "reservationAffinity": { - "description": "Optional. Reservation Affinity of the notebook runtime template.", - "$ref": "GoogleCloudAiplatformV1NotebookReservationAffinity" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for the notebook runtime.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "softwareConfig": { - "description": "Optional. The notebook software configuration of the notebook runtime.", - "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig" - } - } - }, - "GoogleCloudAiplatformV1PersistentDiskSpec": { - "id": "GoogleCloudAiplatformV1PersistentDiskSpec", - "description": "Represents the spec of persistent disk options.", - "type": "object", - "properties": { - "diskType": { - "description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk)", - "type": "string" - }, - "diskSizeGb": { - "description": "Size in GB of the disk (default is 100GB).", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1NetworkSpec": { - "id": "GoogleCloudAiplatformV1NetworkSpec", - "description": "Network spec.", - "type": "object", - "properties": { - "enableInternetAccess": { - "description": "Whether to enable public internet access. Default false.", - "type": "boolean" - }, - "network": { - "description": "The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)", - "type": "string" - }, - "subnetwork": { - "description": "The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NotebookIdleShutdownConfig": { - "id": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", - "description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", - "type": "object", - "properties": { - "idleTimeout": { - "description": "Required. Duration is accurate to the second. In Notebook, Idle Timeout is accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 * 60.", - "type": "string", - "format": "google-duration" - }, - "idleShutdownDisabled": { - "description": "Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1NotebookEucConfig": { - "id": "GoogleCloudAiplatformV1NotebookEucConfig", - "description": "The euc configuration of NotebookRuntimeTemplate.", - "type": "object", - "properties": { - "eucDisabled": { - "description": "Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. In proto3, the default value of a boolean is false. In this way, by default EUC will be enabled for NotebookRuntimeTemplate.", - "type": "boolean" - }, - "bypassActasCheck": { - "description": "Output only. Whether ActAs check is bypassed for service account attached to the VM. If false, we need ActAs check for the default Compute Engine Service account. When a Runtime is created, a VM is allocated using Default Compute Engine Service Account. Any user requesting to use this Runtime requires Service Account User (ActAs) permission over this SA. If true, Runtime owner is using EUC and does not require the above permission as VM no longer use default Compute Engine SA, but a P4SA.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ShieldedVmConfig": { - "id": "GoogleCloudAiplatformV1ShieldedVmConfig", - "description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).", - "type": "object", - "properties": { - "enableSecureBoot": { - "description": "Defines whether the instance has [Secure Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1NotebookReservationAffinity": { - "id": "GoogleCloudAiplatformV1NotebookReservationAffinity", - "description": "Notebook Reservation Affinity for consuming Zonal reservation.", - "type": "object", - "properties": { - "consumeReservationType": { - "description": "Required. Specifies the type of reservation from which this instance can consume resources: RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE. See Consuming reserved instances for examples.", - "type": "string", - "enumDescriptions": [ - "Default type.", - "Do not consume from any allocated capacity.", - "Consume any reservation available.", - "Must consume from a specific reservation. Must specify key value fields for specifying the reservations." - ], - "enum": [ - "RESERVATION_AFFINITY_TYPE_UNSPECIFIED", - "RESERVATION_NONE", - "RESERVATION_ANY", - "RESERVATION_SPECIFIC" - ] - }, - "key": { - "description": "Optional. Corresponds to the label key of a reservation resource. To target a RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.", - "type": "string" - }, - "values": { - "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full path name of Reservation.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1NotebookSoftwareConfig": { - "id": "GoogleCloudAiplatformV1NotebookSoftwareConfig", - "description": "Notebook Software Config. This is passed to the backend when user makes software configurations in UI.", - "type": "object", - "properties": { - "colabImage": { - "description": "Optional. Google-managed NotebookRuntime colab image.", - "$ref": "GoogleCloudAiplatformV1ColabImage" - }, - "env": { - "description": "Optional. Environment variables to be passed to the container. Maximum limit is 100.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EnvVar" - } - }, - "postStartupScriptConfig": { - "description": "Optional. Post startup script config.", - "$ref": "GoogleCloudAiplatformV1PostStartupScriptConfig" - } - } - }, - "GoogleCloudAiplatformV1ColabImage": { - "id": "GoogleCloudAiplatformV1ColabImage", - "description": "Colab image of the runtime.", - "type": "object", - "properties": { - "releaseName": { - "description": "Optional. The release name of the NotebookRuntime Colab image, e.g. \"py310\". If not specified, detault to the latest release.", - "type": "string" - }, - "description": { - "description": "Output only. A human-readable description of the specified colab image release, populated by the system. Example: \"Python 3.10\", \"Latest - current Python 3.11\"", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PostStartupScriptConfig": { - "id": "GoogleCloudAiplatformV1PostStartupScriptConfig", - "description": "Post startup script config.", - "type": "object", - "properties": { - "postStartupScript": { - "description": "Optional. Post startup script to run after runtime is started.", - "type": "string" - }, - "postStartupScriptUrl": { - "description": "Optional. Post startup script url to download. Example: `gs://bucket/script.sh`", - "type": "string" - }, - "postStartupScriptBehavior": { - "description": "Optional. Post startup script behavior that defines download and execution behavior.", - "type": "string", - "enumDescriptions": [ - "Unspecified post startup script behavior.", - "Run post startup script after runtime is started.", - "Run post startup script after runtime is stopped.", - "Download and run post startup script every time runtime is started." - ], - "enum": [ - "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", - "RUN_ONCE", - "RUN_EVERY_START", - "DOWNLOAD_AND_RUN_EVERY_START" - ] - } - } - }, - "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse": { - "id": "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse", - "description": "Response message for NotebookService.ListNotebookRuntimeTemplates.", - "type": "object", - "properties": { - "notebookRuntimeTemplates": { - "description": "List of NotebookRuntimeTemplates in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest": { - "id": "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest", - "description": "Request message for NotebookService.AssignNotebookRuntime.", - "type": "object", - "properties": { - "notebookRuntimeTemplate": { - "description": "Required. The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be assigned (reuse or create a new one).", - "type": "string" - }, - "notebookRuntime": { - "description": "Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment.", - "$ref": "GoogleCloudAiplatformV1NotebookRuntime" - }, - "notebookRuntimeId": { - "description": "Optional. User specified ID for the notebook runtime.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NotebookRuntime": { - "id": "GoogleCloudAiplatformV1NotebookRuntime", - "description": "A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the NotebookRuntime.", - "readOnly": true, - "type": "string" - }, - "runtimeUser": { - "description": "Required. The user email of the NotebookRuntime.", - "type": "string" - }, - "notebookRuntimeTemplateRef": { - "description": "Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is created from.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef" - }, - "proxyUri": { - "description": "Output only. The proxy endpoint used to access the NotebookRuntime.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this NotebookRuntime was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "healthState": { - "description": "Output only. The health state of the NotebookRuntime.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified health state.", - "NotebookRuntime is in healthy state. Applies to ACTIVE state.", - "NotebookRuntime is in unhealthy state. Applies to ACTIVE state." - ], - "enum": [ - "HEALTH_STATE_UNSPECIFIED", - "HEALTHY", - "UNHEALTHY" - ] - }, - "displayName": { - "description": "Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "The description of the NotebookRuntime.", - "type": "string" - }, - "serviceAccount": { - "description": "Output only. Deprecated: This field is no longer used and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as.", - "readOnly": true, - "type": "string" - }, - "runtimeState": { - "description": "Output only. The runtime (instance) state of the NotebookRuntime.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified runtime state.", - "NotebookRuntime is in running state.", - "NotebookRuntime is in starting state. This is when the runtime is being started from a stopped state.", - "NotebookRuntime is in stopping state.", - "NotebookRuntime is in stopped state.", - "NotebookRuntime is in upgrading state. It is in the middle of upgrading process.", - "NotebookRuntime was unable to start/stop properly.", - "NotebookRuntime is in invalid state. Cannot be recovered." - ], - "enum": [ - "RUNTIME_STATE_UNSPECIFIED", - "RUNNING", - "BEING_STARTED", - "BEING_STOPPED", - "STOPPED", - "BEING_UPGRADED", - "ERROR", - "INVALID" - ] - }, - "isUpgradable": { - "description": "Output only. Whether NotebookRuntime is upgradable.", - "readOnly": true, - "type": "boolean" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for NotebookRuntime: * \"aiplatform.googleapis.com/notebook_runtime_gce_instance_id\": output only, its value is the Compute Engine instance id. * \"aiplatform.googleapis.com/colab_enterprise_entry_service\": its value is either \"bigquery\" or \"vertex\"; if absent, it should be \"vertex\". This is to describe the entry service, either BigQuery or Vertex.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "expirationTime": { - "description": "Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "version": { - "description": "Output only. The VM os image version of NotebookRuntime.", - "readOnly": true, - "type": "string" - }, - "notebookRuntimeType": { - "description": "Output only. The type of the notebook runtime.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", - "runtime or template with coustomized configurations from user.", - "runtime or template with system defined configurations." - ], - "enum": [ - "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", - "USER_DEFINED", - "ONE_CLICK" - ] - }, - "machineSpec": { - "description": "Output only. The specification of a single machine used by the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "dataPersistentDiskSpec": { - "description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" - }, - "networkSpec": { - "description": "Output only. Network spec of the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NetworkSpec" - }, - "idleShutdownConfig": { - "description": "Output only. The idle shutdown configuration of the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig" - }, - "eucConfig": { - "description": "Output only. EUC configuration of the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NotebookEucConfig" - }, - "shieldedVmConfig": { - "description": "Output only. Runtime Shielded VM spec.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig" - }, - "networkTags": { - "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", - "type": "array", - "items": { - "type": "string" - } - }, - "reservationAffinity": { - "description": "Output only. Reservation Affinity of the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NotebookReservationAffinity" - }, - "softwareConfig": { - "description": "Output only. Software config of the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig" - }, - "encryptionSpec": { - "description": "Output only. Customer-managed encryption key spec for the notebook runtime.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef": { - "id": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef", - "description": "Points to a NotebookRuntimeTemplateRef.", - "type": "object", - "properties": { - "notebookRuntimeTemplate": { - "description": "Immutable. A resource name of the NotebookRuntimeTemplate.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListNotebookRuntimesResponse": { - "id": "GoogleCloudAiplatformV1ListNotebookRuntimesResponse", - "description": "Response message for NotebookService.ListNotebookRuntimes.", - "type": "object", - "properties": { - "notebookRuntimes": { - "description": "List of NotebookRuntimes in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NotebookRuntime" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListNotebookRuntimesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest": { - "id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest", - "description": "Request message for NotebookService.UpgradeNotebookRuntime.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1StartNotebookRuntimeRequest": { - "id": "GoogleCloudAiplatformV1StartNotebookRuntimeRequest", - "description": "Request message for NotebookService.StartNotebookRuntime.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1StopNotebookRuntimeRequest": { - "id": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest", - "description": "Request message for NotebookService.StopNotebookRuntime.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1NotebookExecutionJob": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJob", - "description": "NotebookExecutionJob represents an instance of a notebook execution.", - "type": "object", - "properties": { - "dataformRepositorySource": { - "description": "The Dataform Repository pointing to a single file notebook repository.", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource" - }, - "gcsNotebookSource": { - "description": "The Cloud Storage url pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource" - }, - "directNotebookSource": { - "description": "The contents of an input notebook file.", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource" - }, - "notebookRuntimeTemplateResourceName": { - "description": "The NotebookRuntimeTemplate to source compute configuration from.", - "type": "string" - }, - "customEnvironmentSpec": { - "description": "The custom compute configuration for an execution job.", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec" - }, - "gcsOutputUri": { - "description": "The Cloud Storage location to upload the result to. Format: `gs://bucket-name`", - "type": "string" - }, - "executionUser": { - "description": "The user email to run the execution as. Only supported by Colab runtimes.", - "type": "string" - }, - "serviceAccount": { - "description": "The service account to run the execution as.", - "type": "string" - }, - "workbenchRuntime": { - "description": "The Workbench runtime configuration to use for the notebook execution.", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime" - }, - "name": { - "description": "Output only. The resource name of this NotebookExecutionJob. Format: `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the NotebookExecutionJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "executionTimeout": { - "description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", - "type": "string", - "format": "google-duration" - }, - "scheduleResourceName": { - "description": "The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", - "type": "string" - }, - "jobState": { - "description": "Output only. The state of the NotebookExecutionJob.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created or resumed and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.", - "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", - "The job has been cancelled.", - "The job has been stopped, and can be resumed.", - "The job has expired.", - "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", - "The job is partially succeeded, some results may be missing due to errors." - ], - "enum": [ - "JOB_STATE_UNSPECIFIED", - "JOB_STATE_QUEUED", - "JOB_STATE_PENDING", - "JOB_STATE_RUNNING", - "JOB_STATE_SUCCEEDED", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLING", - "JOB_STATE_CANCELLED", - "JOB_STATE_PAUSED", - "JOB_STATE_EXPIRED", - "JOB_STATE_UPDATING", - "JOB_STATE_PARTIALLY_SUCCEEDED" - ] - }, - "status": { - "description": "Output only. Populated when the NotebookExecutionJob is completed. When there is an error during notebook execution, the error details are populated.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "createTime": { - "description": "Output only. Timestamp when this NotebookExecutionJob was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this NotebookExecutionJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "kernelName": { - "description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", - "type": "string" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource", - "description": "The Dataform Repository containing the input notebook.", - "type": "object", - "properties": { - "dataformRepositoryResourceName": { - "description": "The resource name of the Dataform Repository. Format: `projects/{project_id}/locations/{location}/repositories/{repository_id}`", - "type": "string" - }, - "commitSha": { - "description": "The commit SHA to read repository with. If unset, the file will be read at HEAD.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource", - "description": "The Cloud Storage uri for the input notebook.", - "type": "object", - "properties": { - "uri": { - "description": "The Cloud Storage uri pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", - "type": "string" - }, - "generation": { - "description": "The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource", - "description": "The content of the input notebook in ipynb format.", - "type": "object", - "properties": { - "content": { - "description": "The base64-encoded contents of the input notebook file.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", - "description": "Compute configuration to use for an execution job.", - "type": "object", - "properties": { - "machineSpec": { - "description": "The specification of a single machine for the execution job.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "persistentDiskSpec": { - "description": "The specification of a persistent disk to attach for the execution job.", - "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" - }, - "networkSpec": { - "description": "The network configuration to use for the execution job.", - "$ref": "GoogleCloudAiplatformV1NetworkSpec" - } - } - }, - "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime": { - "id": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", - "description": "Configuration for a Workbench Instances-based environment.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse": { - "id": "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse", - "description": "Response message for [NotebookService.CreateNotebookExecutionJob]", - "type": "object", - "properties": { - "notebookExecutionJobs": { - "description": "List of NotebookExecutionJobs in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PersistentResource": { - "id": "GoogleCloudAiplatformV1PersistentResource", - "description": "Represents long-lasting resources that are dedicated to users to runs custom workloads. A PersistentResource can have multiple node pools and each node pool can have its own machine spec.", - "type": "object", - "properties": { - "name": { - "description": "Immutable. Resource name of a PersistentResource.", - "type": "string" - }, - "displayName": { - "description": "Optional. The display name of the PersistentResource. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "resourcePools": { - "description": "Required. The spec of the pools of different resources.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ResourcePool" - } - }, - "state": { - "description": "Output only. The detailed state of a Study.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Not set.", - "The PROVISIONING state indicates the persistent resources is being created.", - "The RUNNING state indicates the persistent resource is healthy and fully usable.", - "The STOPPING state indicates the persistent resource is being deleted.", - "The ERROR state indicates the persistent resource may be unusable. Details can be found in the `error` field.", - "The REBOOTING state indicates the persistent resource is being rebooted (PR is not available right now but is expected to be ready again later).", - "The UPDATING state indicates the persistent resource is being updated." - ], - "enum": [ - "STATE_UNSPECIFIED", - "PROVISIONING", - "RUNNING", - "STOPPING", - "ERROR", - "REBOOTING", - "UPDATING" - ] - }, - "error": { - "description": "Output only. Only populated when persistent resource's state is `STOPPING` or `ERROR`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "createTime": { - "description": "Output only. Time when the PersistentResource was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the PersistentResource for the first time entered the `RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the PersistentResource was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "network": { - "description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to peered with Vertex AI to host the persistent resources. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the resources aren't peered with any network.", - "type": "string" - }, - "pscInterfaceConfig": { - "description": "Optional. Configuration for PSC-I for PersistentResource.", - "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" - }, - "encryptionSpec": { - "description": "Optional. Customer-managed encryption key spec for a PersistentResource. If set, this PersistentResource and all sub-resources of this PersistentResource will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "resourceRuntimeSpec": { - "description": "Optional. Persistent Resource runtime spec. For example, used for Ray cluster configuration.", - "$ref": "GoogleCloudAiplatformV1ResourceRuntimeSpec" - }, - "resourceRuntime": { - "description": "Output only. Runtime information of the Persistent Resource.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ResourceRuntime" - }, - "reservedIpRanges": { - "description": "Optional. A list of names for the reserved IP ranges under the VPC network that can be used for this persistent resource. If set, we will deploy the persistent resource within the provided IP ranges. Otherwise, the persistent resource is deployed to any IP ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", - "type": "array", - "items": { - "type": "string" - } - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ResourcePool": { - "id": "GoogleCloudAiplatformV1ResourcePool", - "description": "Represents the spec of a group of resources of the same type, for example machine type, disk, and accelerators, in a PersistentResource.", - "type": "object", - "properties": { - "id": { - "description": "Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically.", - "type": "string" - }, - "machineSpec": { - "description": "Required. Immutable. The specification of a single machine.", - "$ref": "GoogleCloudAiplatformV1MachineSpec" - }, - "replicaCount": { - "description": "Optional. The total number of machines to use for this resource pool.", - "type": "string", - "format": "int64" - }, - "diskSpec": { - "description": "Optional. Disk spec for the machine in this node pool.", - "$ref": "GoogleCloudAiplatformV1DiskSpec" - }, - "usedReplicaCount": { - "description": "Output only. The number of machines currently in use by training jobs for this resource pool. Will replace idle_replica_count.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "autoscalingSpec": { - "description": "Optional. Optional spec to configure GKE or Ray-on-Vertex autoscaling", - "$ref": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec" - } - } - }, - "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec": { - "id": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec", - "description": "The min/max number of replicas allowed if enabling autoscaling", - "type": "object", - "properties": { - "minReplicaCount": { - "description": "Optional. min replicas in the node pool, must be ≤ replica_count and \u003c max_replica_count or will throw error. For autoscaling enabled Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0 to match the OSS Ray behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). As for Persistent Resource, the min_replica_count must be \u003e 0, we added a corresponding validation inside CreatePersistentResourceRequestValidator.java.", - "type": "string", - "format": "int64" - }, - "maxReplicaCount": { - "description": "Optional. max replicas in the node pool, must be ≥ replica_count and \u003e min_replica_count or will throw error", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ResourceRuntimeSpec": { - "id": "GoogleCloudAiplatformV1ResourceRuntimeSpec", - "description": "Configuration for the runtime on a PersistentResource instance, including but not limited to: * Service accounts used to run the workloads. * Whether to make it a dedicated Ray Cluster.", - "type": "object", - "properties": { - "serviceAccountSpec": { - "description": "Optional. Configure the use of workload identity on the PersistentResource", - "$ref": "GoogleCloudAiplatformV1ServiceAccountSpec" - }, - "raySpec": { - "description": "Optional. Ray cluster configuration. Required when creating a dedicated RayCluster on the PersistentResource.", - "$ref": "GoogleCloudAiplatformV1RaySpec" - } - } - }, - "GoogleCloudAiplatformV1ServiceAccountSpec": { - "id": "GoogleCloudAiplatformV1ServiceAccountSpec", - "description": "Configuration for the use of custom service account to run the workloads.", - "type": "object", - "properties": { - "enableCustomServiceAccount": { - "description": "Required. If true, custom user-managed service account is enforced to run any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", - "type": "boolean" - }, - "serviceAccount": { - "description": "Optional. Required when all below conditions are met * `enable_custom_service_account` is true; * any runtime is specified via `ResourceRuntimeSpec` on creation time, for example, Ray The users must have `iam.serviceAccounts.actAs` permission on this service account and then the specified runtime containers will run as it. Do not set this field if you want to submit jobs using custom service account to this PersistentResource after creation, but only specify the `service_account` inside the job.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RaySpec": { - "id": "GoogleCloudAiplatformV1RaySpec", - "description": "Configuration information for the Ray cluster. For experimental launch, Ray cluster creation and Persistent cluster creation are 1:1 mapping: We will provision all the nodes within the Persistent cluster as Ray nodes.", - "type": "object", - "properties": { - "imageUri": { - "description": "Optional. Default image for user to choose a preferred ML framework (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). Either this or the resource_pool_images is required. Use this field if you need all the resource pools to have the same Ray image. Otherwise, use the {@code resource_pool_images} field.", - "type": "string" - }, - "resourcePoolImages": { - "description": "Optional. Required if image_uri isn't set. A map of resource_pool_id to prebuild Ray image if user need to use different images for different head/worker pools. This map needs to cover all the resource pool ids. Example: { \"ray_head_node_pool\": \"head image\" \"ray_worker_node_pool1\": \"worker image\" \"ray_worker_node_pool2\": \"another worker image\" }", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "headNodeResourcePoolId": { - "description": "Optional. This will be used to indicate which resource pool will serve as the Ray head node(the first node within that pool). Will use the machine from the first workerpool as the head node by default if this field isn't set.", - "type": "string" - }, - "rayMetricSpec": { - "description": "Optional. Ray metrics configurations.", - "$ref": "GoogleCloudAiplatformV1RayMetricSpec" - }, - "rayLogsSpec": { - "description": "Optional. OSS Ray logging configurations.", - "$ref": "GoogleCloudAiplatformV1RayLogsSpec" - } - } - }, - "GoogleCloudAiplatformV1RayMetricSpec": { - "id": "GoogleCloudAiplatformV1RayMetricSpec", - "description": "Configuration for the Ray metrics.", - "type": "object", - "properties": { - "disabled": { - "description": "Optional. Flag to disable the Ray metrics collection.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1RayLogsSpec": { - "id": "GoogleCloudAiplatformV1RayLogsSpec", - "description": "Configuration for the Ray OSS Logs.", - "type": "object", - "properties": { - "disabled": { - "description": "Optional. Flag to disable the export of Ray OSS logs to Cloud Logging.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ResourceRuntime": { - "id": "GoogleCloudAiplatformV1ResourceRuntime", - "description": "Persistent Cluster runtime information as output", - "type": "object", - "properties": { - "accessUris": { - "description": "Output only. URIs for user to connect to the Cluster. Example: { \"RAY_HEAD_NODE_INTERNAL_IP\": \"head-node-IP:10001\" \"RAY_DASHBOARD_URI\": \"ray-dashboard-address:8888\" }", - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ListPersistentResourcesResponse": { - "id": "GoogleCloudAiplatformV1ListPersistentResourcesResponse", - "description": "Response message for PersistentResourceService.ListPersistentResources", - "type": "object", - "properties": { - "persistentResources": { - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PersistentResource" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListPersistentResourcesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RebootPersistentResourceRequest": { - "id": "GoogleCloudAiplatformV1RebootPersistentResourceRequest", - "description": "Request message for PersistentResourceService.RebootPersistentResource.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1TrainingPipeline": { - "id": "GoogleCloudAiplatformV1TrainingPipeline", - "description": "The TrainingPipeline orchestrates tasks associated with training a Model. It always executes the training task, and optionally may also export data from Vertex AI's Dataset which becomes the training input, upload the Model to Vertex AI, and evaluate the Model.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Resource name of the TrainingPipeline.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of this TrainingPipeline.", - "type": "string" - }, - "inputDataConfig": { - "description": "Specifies Vertex AI owned input data that may be used for training the Model. The TrainingPipeline's training_task_definition should make clear whether this config is used and if there are any special requirements on how it should be filled. If nothing about this config is mentioned in the training_task_definition, then it should be assumed that the TrainingPipeline does not depend on this configuration.", - "$ref": "GoogleCloudAiplatformV1InputDataConfig" - }, - "trainingTaskDefinition": { - "description": "Required. A Google Cloud Storage path to the YAML file that defines the training task which is responsible for producing the model artifact, and may also include additional auxiliary work. The definition files that can be used here are found in gs://google-cloud-aiplatform/schema/trainingjob/definition/. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", - "type": "string" - }, - "trainingTaskInputs": { - "description": "Required. The training task's parameter(s), as specified in the training_task_definition's `inputs`.", - "type": "any" - }, - "trainingTaskMetadata": { - "description": "Output only. The metadata information as specified in the training_task_definition's `metadata`. This metadata is an auxiliary runtime and final information about the training task. While the pipeline is running this information is populated only at a best effort basis. Only present if the pipeline's training_task_definition contains `metadata` object.", - "readOnly": true, - "type": "any" - }, - "modelToUpload": { - "description": "Describes the Model that may be uploaded (via ModelService.UploadModel) by this TrainingPipeline. The TrainingPipeline's training_task_definition should make clear whether this Model description should be populated, and if there are any special requirements regarding how it should be filled. If nothing is mentioned in the training_task_definition, then it should be assumed that this field should not be filled and the training task either uploads the Model without a need of this information, or that training task does not support uploading a Model as part of the pipeline. When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and the trained Model had been uploaded into Vertex AI, then the model_to_upload's resource name is populated. The Model is always uploaded into the Project and Location in which this pipeline is.", - "$ref": "GoogleCloudAiplatformV1Model" - }, - "modelId": { - "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", - "type": "string" - }, - "parentModel": { - "description": "Optional. When specify this field, the `model_to_upload` will not be uploaded as a new model, instead, it will become a new version of this `parent_model`.", - "type": "string" - }, - "state": { - "description": "Output only. The detailed state of the pipeline.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The pipeline state is unspecified.", - "The pipeline has been created or resumed, and processing has not yet begun.", - "The service is preparing to run the pipeline.", - "The pipeline is in progress.", - "The pipeline completed successfully.", - "The pipeline failed.", - "The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", - "The pipeline has been cancelled.", - "The pipeline has been stopped, and can be resumed." - ], - "enum": [ - "PIPELINE_STATE_UNSPECIFIED", - "PIPELINE_STATE_QUEUED", - "PIPELINE_STATE_PENDING", - "PIPELINE_STATE_RUNNING", - "PIPELINE_STATE_SUCCEEDED", - "PIPELINE_STATE_FAILED", - "PIPELINE_STATE_CANCELLING", - "PIPELINE_STATE_CANCELLED", - "PIPELINE_STATE_PAUSED" - ] - }, - "error": { - "description": "Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "createTime": { - "description": "Output only. Time when the TrainingPipeline was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Time when the TrainingPipeline for the first time entered the `PIPELINE_STATE_RUNNING` state.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Time when the TrainingPipeline entered any of the following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the TrainingPipeline was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a TrainingPipeline. If set, this TrainingPipeline will be secured by this key. Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1InputDataConfig": { - "id": "GoogleCloudAiplatformV1InputDataConfig", - "description": "Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model.", - "type": "object", - "properties": { - "fractionSplit": { - "description": "Split based on fractions defining the size of each set.", - "$ref": "GoogleCloudAiplatformV1FractionSplit" - }, - "filterSplit": { - "description": "Split based on the provided filters for each set.", - "$ref": "GoogleCloudAiplatformV1FilterSplit" - }, - "predefinedSplit": { - "description": "Supported only for tabular Datasets. Split based on a predefined key.", - "$ref": "GoogleCloudAiplatformV1PredefinedSplit" - }, - "timestampSplit": { - "description": "Supported only for tabular Datasets. Split based on the timestamp of the input data pieces.", - "$ref": "GoogleCloudAiplatformV1TimestampSplit" - }, - "stratifiedSplit": { - "description": "Supported only for tabular Datasets. Split based on the distribution of the specified column.", - "$ref": "GoogleCloudAiplatformV1StratifiedSplit" - }, - "gcsDestination": { - "description": "The Cloud Storage location where the training data is to be written to. In the given directory a new directory is created with name: `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All training input data is written into that directory. The Vertex AI environment variables representing Cloud Storage data URIs are represented in the Cloud Storage wildcard format to support sharded data. e.g.: \"gs://.../training-*.jsonl\" * AIP_DATA_FORMAT = \"jsonl\" for non-tabular data, \"csv\" for tabular data * AIP_TRAINING_DATA_URI = \"gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}\" * AIP_VALIDATION_DATA_URI = \"gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}\" * AIP_TEST_DATA_URI = \"gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}\"", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "bigqueryDestination": { - "description": "Only applicable to custom training with tabular Dataset with BigQuery source. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name `dataset___` where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written into that dataset. In the dataset three tables are created, `training`, `validation` and `test`. * AIP_DATA_FORMAT = \"bigquery\". * AIP_TRAINING_DATA_URI = \"bigquery_destination.dataset___.training\" * AIP_VALIDATION_DATA_URI = \"bigquery_destination.dataset___.validation\" * AIP_TEST_DATA_URI = \"bigquery_destination.dataset___.test\"", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "datasetId": { - "description": "Required. The ID of the Dataset in the same Project and Location which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline's training_task_definition. For tabular Datasets, all their data is exported to training, to pick and choose from.", - "type": "string" - }, - "annotationsFilter": { - "description": "Applicable only to Datasets that have DataItems and Annotations. A filter on Annotations of the Dataset. Only Annotations that both match this filter and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on (for the auto-assigned that role is decided by Vertex AI). A filter with same syntax as the one used in ListAnnotations may be used, but note here it filters across all Annotations of the Dataset, and not just within a single DataItem.", - "type": "string" - }, - "annotationSchemaUri": { - "description": "Applicable only to custom training with Datasets that have DataItems and Annotations. Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/ , note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", - "type": "string" - }, - "savedQueryId": { - "description": "Only applicable to Datasets that have SavedQueries. The ID of a SavedQuery (annotation set) under the Dataset specified by dataset_id used for filtering Annotations for training. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", - "type": "string" - }, - "persistMlUseAssignment": { - "description": "Whether to persist the ML use assignment to data item system labels.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1FractionSplit": { - "id": "GoogleCloudAiplatformV1FractionSplit", - "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", - "type": "object", - "properties": { - "trainingFraction": { - "description": "The fraction of the input data that is to be used to train the Model.", - "type": "number", - "format": "double" - }, - "validationFraction": { - "description": "The fraction of the input data that is to be used to validate the Model.", - "type": "number", - "format": "double" - }, - "testFraction": { - "description": "The fraction of the input data that is to be used to evaluate the Model.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1FilterSplit": { - "id": "GoogleCloudAiplatformV1FilterSplit", - "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets. ", - "type": "object", - "properties": { - "trainingFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "validationFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "testFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PredefinedSplit": { - "id": "GoogleCloudAiplatformV1PredefinedSplit", - "description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", - "type": "object", - "properties": { - "key": { - "description": "Required. The key is a name of one of the Dataset's data columns. The value of the key (either the label's value or value in the column) must be one of {`training`, `validation`, `test`}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TimestampSplit": { - "id": "GoogleCloudAiplatformV1TimestampSplit", - "description": "Assigns input data to training, validation, and test sets based on a provided timestamps. The youngest data pieces are assigned to training set, next to validation set, and the oldest to the test set. Supported only for tabular Datasets.", - "type": "object", - "properties": { - "trainingFraction": { - "description": "The fraction of the input data that is to be used to train the Model.", - "type": "number", - "format": "double" - }, - "validationFraction": { - "description": "The fraction of the input data that is to be used to validate the Model.", - "type": "number", - "format": "double" - }, - "testFraction": { - "description": "The fraction of the input data that is to be used to evaluate the Model.", - "type": "number", - "format": "double" - }, - "key": { - "description": "Required. The key is a name of one of the Dataset's data columns. The values of the key (the values in the column) must be in RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1StratifiedSplit": { - "id": "GoogleCloudAiplatformV1StratifiedSplit", - "description": "Assigns input data to the training, validation, and test sets so that the distribution of values found in the categorical column (as specified by the `key` field) is mirrored within each split. The fraction values determine the relative sizes of the splits. For example, if the specified column has three values, with 50% of the rows having value \"A\", 25% value \"B\", and 25% value \"C\", and the split fractions are specified as 80/10/10, then the training set will constitute 80% of the training data, with about 50% of the training set rows having the value \"A\" for the specified column, about 25% having the value \"B\", and about 25% having the value \"C\". Only the top 500 occurring values are used; any values not in the top 500 values are randomly assigned to a split. If less than three rows contain a specific value, those rows are randomly assigned. Supported only for tabular Datasets.", - "type": "object", - "properties": { - "trainingFraction": { - "description": "The fraction of the input data that is to be used to train the Model.", - "type": "number", - "format": "double" - }, - "validationFraction": { - "description": "The fraction of the input data that is to be used to validate the Model.", - "type": "number", - "format": "double" - }, - "testFraction": { - "description": "The fraction of the input data that is to be used to evaluate the Model.", - "type": "number", - "format": "double" - }, - "key": { - "description": "Required. The key is a name of one of the Dataset's data columns. The key provided must be for a categorical column.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListTrainingPipelinesResponse": { - "id": "GoogleCloudAiplatformV1ListTrainingPipelinesResponse", - "description": "Response message for PipelineService.ListTrainingPipelines", - "type": "object", - "properties": { - "trainingPipelines": { - "description": "List of TrainingPipelines in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrainingPipeline" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListTrainingPipelinesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CancelTrainingPipelineRequest": { - "id": "GoogleCloudAiplatformV1CancelTrainingPipelineRequest", - "description": "Request message for PipelineService.CancelTrainingPipeline.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1PipelineJob": { - "id": "GoogleCloudAiplatformV1PipelineJob", - "description": "An instance of a machine learning PipelineJob.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the PipelineJob.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "createTime": { - "description": "Output only. Pipeline creation time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Pipeline start time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Pipeline end time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this PipelineJob was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "pipelineSpec": { - "description": "The spec of the pipeline.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "state": { - "description": "Output only. The detailed state of the job.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The pipeline state is unspecified.", - "The pipeline has been created or resumed, and processing has not yet begun.", - "The service is preparing to run the pipeline.", - "The pipeline is in progress.", - "The pipeline completed successfully.", - "The pipeline failed.", - "The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", - "The pipeline has been cancelled.", - "The pipeline has been stopped, and can be resumed." - ], - "enum": [ - "PIPELINE_STATE_UNSPECIFIED", - "PIPELINE_STATE_QUEUED", - "PIPELINE_STATE_PENDING", - "PIPELINE_STATE_RUNNING", - "PIPELINE_STATE_SUCCEEDED", - "PIPELINE_STATE_FAILED", - "PIPELINE_STATE_CANCELLING", - "PIPELINE_STATE_CANCELLED", - "PIPELINE_STATE_PAUSED" - ] - }, - "jobDetail": { - "description": "Output only. The details of pipeline run. Not available in the list view.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PipelineJobDetail" - }, - "error": { - "description": "Output only. The error that occurred during pipeline execution. Only populated when the pipeline's state is FAILED or CANCELLED.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "labels": { - "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "runtimeConfig": { - "description": "Runtime config of the pipeline.", - "$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a pipelineJob. If set, this PipelineJob and all of its sub-resources will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "serviceAccount": { - "description": "The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", - "type": "string" - }, - "network": { - "description": "The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.", - "type": "string" - }, - "reservedIpRanges": { - "description": "A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", - "type": "array", - "items": { - "type": "string" - } - }, - "pscInterfaceConfig": { - "description": "Optional. Configuration for PSC-I for PipelineJob.", - "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" - }, - "templateUri": { - "description": "A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.", - "type": "string" - }, - "templateMetadata": { - "description": "Output only. Pipeline template metadata. Will fill up fields if PipelineJob.template_uri is from supported template registry.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PipelineTemplateMetadata" - }, - "scheduleName": { - "description": "Output only. The schedule resource name. Only returned if the Pipeline is created by Schedule API.", - "readOnly": true, - "type": "string" - }, - "preflightValidations": { - "description": "Optional. Whether to do component level validations before job creation.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1PipelineJobDetail": { - "id": "GoogleCloudAiplatformV1PipelineJobDetail", - "description": "The runtime detail of PipelineJob.", - "type": "object", - "properties": { - "pipelineContext": { - "description": "Output only. The context of the pipeline.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Context" - }, - "pipelineRunContext": { - "description": "Output only. The context of the current pipeline run.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Context" - }, - "taskDetails": { - "description": "Output only. The runtime details of the tasks under the pipeline.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PipelineTaskDetail" - } - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskDetail": { - "id": "GoogleCloudAiplatformV1PipelineTaskDetail", - "description": "The runtime detail of a task execution.", - "type": "object", - "properties": { - "taskId": { - "description": "Output only. The system generated ID of the task.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "parentTaskId": { - "description": "Output only. The id of the parent task if the task is within a component scope. Empty if the task is at the root level.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "taskName": { - "description": "Output only. The user specified name of the task that is defined in pipeline_spec.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. Task create time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "startTime": { - "description": "Output only. Task start time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. Task end time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "executorDetail": { - "description": "Output only. The detailed execution info.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail" - }, - "state": { - "description": "Output only. State of the task.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Specifies pending state for the task.", - "Specifies task is being executed.", - "Specifies task completed successfully.", - "Specifies Task cancel is in pending state.", - "Specifies task is being cancelled.", - "Specifies task was cancelled.", - "Specifies task failed.", - "Specifies task was skipped due to cache hit.", - "Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." - ], - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "RUNNING", - "SUCCEEDED", - "CANCEL_PENDING", - "CANCELLING", - "CANCELLED", - "FAILED", - "SKIPPED", - "NOT_TRIGGERED" - ] - }, - "execution": { - "description": "Output only. The execution metadata of the task.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1Execution" - }, - "error": { - "description": "Output only. The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - }, - "pipelineTaskStatus": { - "description": "Output only. A list of task status. This field keeps a record of task status evolving over time.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus" - } - }, - "inputs": { - "description": "Output only. The runtime input artifacts of the task.", - "readOnly": true, - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" - } - }, - "outputs": { - "description": "Output only. The runtime output artifacts of the task.", - "readOnly": true, - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" - } - }, - "taskUniqueName": { - "description": "Output only. The unique name of a task. This field is used by rerun pipeline job. Console UI and Vertex AI SDK will support triggering pipeline job reruns. The name is constructed by concatenating all the parent tasks name with the task name. For example, if a task named \"child_task\" has a parent task named \"parent_task_1\" and parent task 1 has a parent task named \"parent_task_2\", the task unique name will be \"parent_task_2.parent_task_1.child_task\".", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskExecutorDetail": { - "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail", - "description": "The runtime detail of a pipeline executor.", - "type": "object", - "properties": { - "containerDetail": { - "description": "Output only. The detailed info for a container executor.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail" - }, - "customJobDetail": { - "description": "Output only. The detailed info for a custom job executor.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail" - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail": { - "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail", - "description": "The detail of a container execution. It contains the job names of the lifecycle of a container execution.", - "type": "object", - "properties": { - "mainJob": { - "description": "Output only. The name of the CustomJob for the main container execution.", - "readOnly": true, - "type": "string" - }, - "preCachingCheckJob": { - "description": "Output only. The name of the CustomJob for the pre-caching-check container execution. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events.", - "readOnly": true, - "type": "string" - }, - "failedMainJobs": { - "description": "Output only. The names of the previously failed CustomJob for the main container executions. The list includes the all attempts in chronological order.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "failedPreCachingCheckJobs": { - "description": "Output only. The names of the previously failed CustomJob for the pre-caching-check container executions. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events. The list includes the all attempts in chronological order.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail": { - "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail", - "description": "The detailed info for a custom job executor.", - "type": "object", - "properties": { - "job": { - "description": "Output only. The name of the CustomJob.", - "readOnly": true, - "type": "string" - }, - "failedJobs": { - "description": "Output only. The names of the previously failed CustomJob. The list includes the all attempts in chronological order.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus": { - "id": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus", - "description": "A single record of the task status.", - "type": "object", - "properties": { - "updateTime": { - "description": "Output only. Update time of this status.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "state": { - "description": "Output only. The state of the task.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Specifies pending state for the task.", - "Specifies task is being executed.", - "Specifies task completed successfully.", - "Specifies Task cancel is in pending state.", - "Specifies task is being cancelled.", - "Specifies task was cancelled.", - "Specifies task failed.", - "Specifies task was skipped due to cache hit.", - "Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." - ], - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "RUNNING", - "SUCCEEDED", - "CANCEL_PENDING", - "CANCELLING", - "CANCELLED", - "FAILED", - "SKIPPED", - "NOT_TRIGGERED" - ] - }, - "error": { - "description": "Output only. The error that occurred during the state. May be set when the state is any of the non-final state (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is FAILED, the error here is final and not going to be retried. If the state is a non-final state, the error indicates a system-error being retried.", - "readOnly": true, - "$ref": "GoogleRpcStatus" - } - } - }, - "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList": { - "id": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList", - "description": "A list of artifact metadata.", - "type": "object", - "properties": { - "artifacts": { - "description": "Output only. A list of artifact metadata.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Artifact" - } - } - } - }, - "GoogleCloudAiplatformV1PipelineJobRuntimeConfig": { - "id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig", - "description": "The runtime config of a PipelineJob.", - "type": "object", - "properties": { - "parameters": { - "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", - "deprecated": true, - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1Value" - } - }, - "gcsOutputDirectory": { - "description": "Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket.", - "type": "string" - }, - "parameterValues": { - "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.", - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "failurePolicy": { - "description": "Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion.", - "type": "string", - "enumDescriptions": [ - "Default value, and follows fail slow behavior.", - "Indicates that the pipeline should continue to run until all possible tasks have been scheduled and completed.", - "Indicates that the pipeline should stop scheduling new tasks after a task has failed." - ], - "enum": [ - "PIPELINE_FAILURE_POLICY_UNSPECIFIED", - "PIPELINE_FAILURE_POLICY_FAIL_SLOW", - "PIPELINE_FAILURE_POLICY_FAIL_FAST" - ] - }, - "inputArtifacts": { - "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact" - } - } - } - }, - "GoogleCloudAiplatformV1Value": { - "id": "GoogleCloudAiplatformV1Value", - "description": "Value is the value of the field.", - "type": "object", - "properties": { - "intValue": { - "description": "An integer value.", - "type": "string", - "format": "int64" - }, - "doubleValue": { - "description": "A double value.", - "type": "number", - "format": "double" - }, - "stringValue": { - "description": "A string value.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact": { - "id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact", - "description": "The type of an input artifact.", - "type": "object", - "properties": { - "artifactId": { - "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PipelineTemplateMetadata": { - "id": "GoogleCloudAiplatformV1PipelineTemplateMetadata", - "description": "Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry.", - "type": "object", - "properties": { - "version": { - "description": "The version_name in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is \"sha256:abcdef123456...\".", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListPipelineJobsResponse": { - "id": "GoogleCloudAiplatformV1ListPipelineJobsResponse", - "description": "Response message for PipelineService.ListPipelineJobs", - "type": "object", - "properties": { - "pipelineJobs": { - "description": "List of PipelineJobs in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PipelineJob" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListPipelineJobsRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest": { - "id": "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest", - "description": "Request message for PipelineService.BatchDeletePipelineJobs.", - "type": "object", - "properties": { - "names": { - "description": "Required. The names of the PipelineJobs to delete. A maximum of 32 PipelineJobs can be deleted in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1CancelPipelineJobRequest": { - "id": "GoogleCloudAiplatformV1CancelPipelineJobRequest", - "description": "Request message for PipelineService.CancelPipelineJob.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest": { - "id": "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest", - "description": "Request message for PipelineService.BatchCancelPipelineJobs.", - "type": "object", - "properties": { - "names": { - "description": "Required. The names of the PipelineJobs to cancel. A maximum of 32 PipelineJobs can be cancelled in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1QueryReasoningEngineRequest": { - "id": "GoogleCloudAiplatformV1QueryReasoningEngineRequest", - "description": "Request message for ReasoningEngineExecutionService.Query.", - "type": "object", - "properties": { - "input": { - "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "classMethod": { - "description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1QueryReasoningEngineResponse": { - "id": "GoogleCloudAiplatformV1QueryReasoningEngineResponse", - "description": "Response message for ReasoningEngineExecutionService.Query", - "type": "object", - "properties": { - "output": { - "description": "Response provided by users in JSON object format.", - "type": "any" - } - } - }, - "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest": { - "id": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest", - "description": "Request message for ReasoningEngineExecutionService.StreamQuery.", - "type": "object", - "properties": { - "input": { - "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "classMethod": { - "description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ReasoningEngine": { - "id": "GoogleCloudAiplatformV1ReasoningEngine", - "description": "ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the ReasoningEngine.", - "type": "string" - }, - "description": { - "description": "Optional. The description of the ReasoningEngine.", - "type": "string" - }, - "spec": { - "description": "Optional. Configurations of the ReasoningEngine", - "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpec" - }, - "createTime": { - "description": "Output only. Timestamp when this ReasoningEngine was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this ReasoningEngine was most recently updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1ReasoningEngineSpec": { - "id": "GoogleCloudAiplatformV1ReasoningEngineSpec", - "description": "ReasoningEngine configurations", - "type": "object", - "properties": { - "serviceAccount": { - "description": "Optional. The service account that the Reasoning Engine artifact runs as. It should have \"roles/storage.objectViewer\" for reading the user project's Cloud Storage and \"roles/aiplatform.user\" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.", - "type": "string" - }, - "packageSpec": { - "description": "Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes.", - "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec" - }, - "deploymentSpec": { - "description": "Optional. The specification of a Reasoning Engine deployment.", - "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec" - }, - "classMethods": { - "description": "Optional. Declarations for object class methods in OpenAPI specification format.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - } - }, - "agentFramework": { - "description": "Optional. The OSS agent framework used to develop the agent. Currently supported values: \"google-adk\", \"langchain\", \"langgraph\", \"ag2\", \"llama-index\", \"custom\".", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec": { - "id": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", - "description": "User provided package spec like pickled object and package requirements.", - "type": "object", - "properties": { - "pickleObjectGcsUri": { - "description": "Optional. The Cloud Storage URI of the pickled python object.", - "type": "string" - }, - "dependencyFilesGcsUri": { - "description": "Optional. The Cloud Storage URI of the dependency files in tar.gz format.", - "type": "string" - }, - "requirementsGcsUri": { - "description": "Optional. The Cloud Storage URI of the `requirements.txt` file", - "type": "string" - }, - "pythonVersion": { - "description": "Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11. If not specified, default value is 3.10.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec": { - "id": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec", - "description": "The specification of a Reasoning Engine deployment.", - "type": "object", - "properties": { - "env": { - "description": "Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1EnvVar" - } - }, - "secretEnv": { - "description": "Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SecretEnvVar" - } - } - } - }, - "GoogleCloudAiplatformV1SecretEnvVar": { - "id": "GoogleCloudAiplatformV1SecretEnvVar", - "description": "Represents an environment variable where the value is a secret in Cloud Secret Manager.", - "type": "object", - "properties": { - "name": { - "description": "Required. Name of the secret environment variable.", - "type": "string" - }, - "secretRef": { - "description": "Required. Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.", - "$ref": "GoogleCloudAiplatformV1SecretRef" - } - } - }, - "GoogleCloudAiplatformV1SecretRef": { - "id": "GoogleCloudAiplatformV1SecretRef", - "description": "Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.", - "type": "object", - "properties": { - "secret": { - "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.", - "type": "string" - }, - "version": { - "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListReasoningEnginesResponse": { - "id": "GoogleCloudAiplatformV1ListReasoningEnginesResponse", - "description": "Response message for ReasoningEngineService.ListReasoningEngines", - "type": "object", - "properties": { - "reasoningEngines": { - "description": "List of ReasoningEngines in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ReasoningEngine" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Schedule": { - "id": "GoogleCloudAiplatformV1Schedule", - "description": "An instance of a Schedule periodically schedules runs to make API calls based on user specified time specification and API request type.", - "type": "object", - "properties": { - "cron": { - "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", - "type": "string" - }, - "createPipelineJobRequest": { - "description": "Request for PipelineService.CreatePipelineJob. CreatePipelineJobRequest.parent field is required (format: projects/{project}/locations/{location}).", - "$ref": "GoogleCloudAiplatformV1CreatePipelineJobRequest" - }, - "createNotebookExecutionJobRequest": { - "description": "Request for NotebookService.CreateNotebookExecutionJob.", - "$ref": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest" - }, - "name": { - "description": "Immutable. The resource name of the Schedule.", - "type": "string" - }, - "displayName": { - "description": "Required. User provided name of the Schedule. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "startTime": { - "description": "Optional. Timestamp after which the first run can be scheduled. Default to Schedule create time if not specified.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Optional. Timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when either end_time is reached or when scheduled_run_count \u003e= max_run_count. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", - "type": "string", - "format": "google-datetime" - }, - "maxRunCount": { - "description": "Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count \u003e= max_run_count or when end_time is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", - "type": "string", - "format": "int64" - }, - "startedRunCount": { - "description": "Output only. The number of runs started by this schedule.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "state": { - "description": "Output only. The state of this Schedule.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "The Schedule is active. Runs are being scheduled on the user-specified timespec.", - "The schedule is paused. No new runs will be created until the schedule is resumed. Already started runs will be allowed to complete.", - "The Schedule is completed. No new runs will be scheduled. Already started runs will be allowed to complete. Schedules in completed state cannot be paused or resumed." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PAUSED", - "COMPLETED" - ] - }, - "createTime": { - "description": "Output only. Timestamp when this Schedule was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Schedule was updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "nextRunTime": { - "description": "Output only. Timestamp when this Schedule should schedule the next run. Having a next_run_time in the past means the runs are being started behind schedule.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "lastPauseTime": { - "description": "Output only. Timestamp when this Schedule was last paused. Unset if never paused.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "lastResumeTime": { - "description": "Output only. Timestamp when this Schedule was last resumed. Unset if never resumed from pause.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "maxConcurrentRunCount": { - "description": "Required. Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable).", - "type": "string", - "format": "int64" - }, - "allowQueueing": { - "description": "Optional. Whether new scheduled runs can be queued when max_concurrent_runs limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.", - "type": "boolean" - }, - "catchUp": { - "description": "Output only. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.", - "readOnly": true, - "type": "boolean" - }, - "lastScheduledRunResponse": { - "description": "Output only. Response of the last scheduled run. This is the response for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable). Unset if no run has been scheduled yet.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ScheduleRunResponse" - } - } - }, - "GoogleCloudAiplatformV1CreatePipelineJobRequest": { - "id": "GoogleCloudAiplatformV1CreatePipelineJobRequest", - "description": "Request message for PipelineService.CreatePipelineJob.", - "type": "object", - "properties": { - "parent": { - "description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", - "type": "string" - }, - "pipelineJob": { - "description": "Required. The PipelineJob to create.", - "$ref": "GoogleCloudAiplatformV1PipelineJob" - }, - "pipelineJobId": { - "description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest": { - "id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest", - "description": "Request message for [NotebookService.CreateNotebookExecutionJob]", - "type": "object", - "properties": { - "parent": { - "description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", - "type": "string" - }, - "notebookExecutionJob": { - "description": "Required. The NotebookExecutionJob to create.", - "$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" - }, - "notebookExecutionJobId": { - "description": "Optional. User specified ID for the NotebookExecutionJob.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ScheduleRunResponse": { - "id": "GoogleCloudAiplatformV1ScheduleRunResponse", - "description": "Status of a scheduled run.", - "type": "object", - "properties": { - "scheduledRunTime": { - "description": "The scheduled run time based on the user-specified schedule.", - "type": "string", - "format": "google-datetime" - }, - "runResponse": { - "description": "The response of the scheduled run.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListSchedulesResponse": { - "id": "GoogleCloudAiplatformV1ListSchedulesResponse", - "description": "Response message for ScheduleService.ListSchedules", - "type": "object", - "properties": { - "schedules": { - "description": "List of Schedules in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Schedule" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListSchedulesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PauseScheduleRequest": { - "id": "GoogleCloudAiplatformV1PauseScheduleRequest", - "description": "Request message for ScheduleService.PauseSchedule.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ResumeScheduleRequest": { - "id": "GoogleCloudAiplatformV1ResumeScheduleRequest", - "description": "Request message for ScheduleService.ResumeSchedule.", - "type": "object", - "properties": { - "catchUp": { - "description": "Optional. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. This will also update Schedule.catch_up field. Default to false.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SpecialistPool": { - "id": "GoogleCloudAiplatformV1SpecialistPool", - "description": "SpecialistPool represents customers' own workforce to work on their data labeling jobs. It includes a group of specialist managers and workers. Managers are responsible for managing the workers in this pool as well as customers' data labeling jobs associated with this pool. Customers create specialist pool as well as start data labeling jobs on Cloud, managers and workers handle the jobs using CrowdCompute console.", - "type": "object", - "properties": { - "name": { - "description": "Required. The resource name of the SpecialistPool.", - "type": "string" - }, - "displayName": { - "description": "Required. The user-defined name of the SpecialistPool. The name can be up to 128 characters long and can consist of any UTF-8 characters. This field should be unique on project-level.", - "type": "string" - }, - "specialistManagersCount": { - "description": "Output only. The number of managers in this SpecialistPool.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "specialistManagerEmails": { - "description": "The email addresses of the managers in the SpecialistPool.", - "type": "array", - "items": { - "type": "string" - } - }, - "pendingDataLabelingJobs": { - "description": "Output only. The resource name of the pending data labeling jobs.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "specialistWorkerEmails": { - "description": "The email addresses of workers in the SpecialistPool.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1ListSpecialistPoolsResponse": { - "id": "GoogleCloudAiplatformV1ListSpecialistPoolsResponse", - "description": "Response message for SpecialistPoolService.ListSpecialistPools.", - "type": "object", - "properties": { - "specialistPools": { - "description": "A list of SpecialistPools that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SpecialistPool" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Tensorboard": { - "id": "GoogleCloudAiplatformV1Tensorboard", - "description": "Tensorboard is a physical database that stores users' training metrics. A default Tensorboard is provided in each region of a Google Cloud project. If needed users can also create extra Tensorboards in their projects.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. User provided name of this Tensorboard.", - "type": "string" - }, - "description": { - "description": "Description of this Tensorboard.", - "type": "string" - }, - "encryptionSpec": { - "description": "Customer-managed encryption key spec for a Tensorboard. If set, this Tensorboard and all sub-resources of this Tensorboard will be secured by this key.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - }, - "blobStoragePathPrefix": { - "description": "Output only. Consumer project Cloud Storage path prefix used to store blob data, which can either be a bucket or directory. Does not end with a '/'.", - "readOnly": true, - "type": "string" - }, - "runCount": { - "description": "Output only. The number of Runs stored in this Tensorboard.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "createTime": { - "description": "Output only. Timestamp when this Tensorboard was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this Tensorboard was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "etag": { - "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "isDefault": { - "description": "Used to indicate if the TensorBoard instance is the default one. Each project & region can have at most one default TensorBoard instance. Creation of a default TensorBoard instance and updating an existing TensorBoard instance to be default will mark all other TensorBoard instances (if any) as non default.", - "type": "boolean" - }, - "satisfiesPzs": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1ListTensorboardsResponse": { - "id": "GoogleCloudAiplatformV1ListTensorboardsResponse", - "description": "Response message for TensorboardService.ListTensorboards.", - "type": "object", - "properties": { - "tensorboards": { - "description": "The Tensorboards mathching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tensorboard" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListTensorboardsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardUsageResponse": { - "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponse", - "description": "Response message for TensorboardService.ReadTensorboardUsage.", - "type": "object", - "properties": { - "monthlyUsageData": { - "description": "Maps year-month (YYYYMM) string to per month usage data.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData" - } - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData": { - "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData", - "description": "Per month usage data", - "type": "object", - "properties": { - "userUsageData": { - "description": "Usage data for each user in the given month.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData" - } - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData": { - "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData", - "description": "Per user usage data.", - "type": "object", - "properties": { - "username": { - "description": "User's username", - "type": "string" - }, - "viewCount": { - "description": "Number of times the user has read data within the Tensorboard.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardSizeResponse": { - "id": "GoogleCloudAiplatformV1ReadTensorboardSizeResponse", - "description": "Response message for TensorboardService.ReadTensorboardSize.", - "type": "object", - "properties": { - "storageSizeByte": { - "description": "Payload storage size for the TensorBoard", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1TensorboardExperiment": { - "id": "GoogleCloudAiplatformV1TensorboardExperiment", - "description": "A TensorboardExperiment is a group of TensorboardRuns, that are typically the results of a training job run, in a Tensorboard.", - "type": "object", - "properties": { - "name": { - "description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "User provided name of this TensorboardExperiment.", - "type": "string" - }, - "description": { - "description": "Description of this TensorboardExperiment.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this TensorboardExperiment was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this TensorboardExperiment was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "source": { - "description": "Immutable. Source of the TensorboardExperiment. Example: a custom training job.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse": { - "id": "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse", - "description": "Response message for TensorboardService.ListTensorboardExperiments.", - "type": "object", - "properties": { - "tensorboardExperiments": { - "description": "The TensorboardExperiments mathching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardExperiment" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListTensorboardExperimentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1TensorboardRun": { - "id": "GoogleCloudAiplatformV1TensorboardRun", - "description": "TensorboardRun maps to a specific execution of a training job with a given set of hyperparameter values, model definition, dataset, etc", - "type": "object", - "properties": { - "name": { - "description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. User provided name of this TensorboardRun. This value must be unique among all TensorboardRuns belonging to the same parent TensorboardExperiment.", - "type": "string" - }, - "description": { - "description": "Description of this TensorboardRun.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this TensorboardRun was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this TensorboardRun was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "etag": { - "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest": { - "id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest", - "description": "Request message for TensorboardService.BatchCreateTensorboardRuns.", - "type": "object", - "properties": { - "requests": { - "description": "Required. The request message specifying the TensorboardRuns to create. A maximum of 1000 TensorboardRuns can be created in a batch.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1CreateTensorboardRunRequest" - } - } - } - }, - "GoogleCloudAiplatformV1CreateTensorboardRunRequest": { - "id": "GoogleCloudAiplatformV1CreateTensorboardRunRequest", - "description": "Request message for TensorboardService.CreateTensorboardRun.", - "type": "object", - "properties": { - "parent": { - "description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", - "type": "string" - }, - "tensorboardRun": { - "description": "Required. The TensorboardRun to create.", - "$ref": "GoogleCloudAiplatformV1TensorboardRun" - }, - "tensorboardRunId": { - "description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse": { - "id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse", - "description": "Response message for TensorboardService.BatchCreateTensorboardRuns.", - "type": "object", - "properties": { - "tensorboardRuns": { - "description": "The created TensorboardRuns.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardRun" - } - } - } - }, - "GoogleCloudAiplatformV1ListTensorboardRunsResponse": { - "id": "GoogleCloudAiplatformV1ListTensorboardRunsResponse", - "description": "Response message for TensorboardService.ListTensorboardRuns.", - "type": "object", - "properties": { - "tensorboardRuns": { - "description": "The TensorboardRuns mathching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardRun" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListTensorboardRunsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest": { - "id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest", - "description": "Request message for TensorboardService.BatchCreateTensorboardTimeSeries.", - "type": "object", - "properties": { - "requests": { - "description": "Required. The request message specifying the TensorboardTimeSeries to create. A maximum of 1000 TensorboardTimeSeries can be created in a batch.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest" - } - } - } - }, - "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest": { - "id": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest", - "description": "Request message for TensorboardService.CreateTensorboardTimeSeries.", - "type": "object", - "properties": { - "parent": { - "description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", - "type": "string" - }, - "tensorboardTimeSeriesId": { - "description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", - "type": "string" - }, - "tensorboardTimeSeries": { - "description": "Required. The TensorboardTimeSeries to create.", - "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" - } - } - }, - "GoogleCloudAiplatformV1TensorboardTimeSeries": { - "id": "GoogleCloudAiplatformV1TensorboardTimeSeries", - "description": "TensorboardTimeSeries maps to times series produced in training runs", - "type": "object", - "properties": { - "name": { - "description": "Output only. Name of the TensorboardTimeSeries.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. User provided name of this TensorboardTimeSeries. This value should be unique among all TensorboardTimeSeries resources belonging to the same TensorboardRun resource (parent resource).", - "type": "string" - }, - "description": { - "description": "Description of this TensorboardTimeSeries.", - "type": "string" - }, - "valueType": { - "description": "Required. Immutable. Type of TensorboardTimeSeries value.", - "type": "string", - "enumDescriptions": [ - "The value type is unspecified.", - "Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", - "Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", - "Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." - ], - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "SCALAR", - "TENSOR", - "BLOB_SEQUENCE" - ] - }, - "createTime": { - "description": "Output only. Timestamp when this TensorboardTimeSeries was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this TensorboardTimeSeries was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "etag": { - "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "pluginName": { - "description": "Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, Blob", - "type": "string" - }, - "pluginData": { - "description": "Data of the current plugin, with the size limited to 65KB.", - "type": "string", - "format": "byte" - }, - "metadata": { - "description": "Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata" - } - } - }, - "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata": { - "id": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata", - "description": "Describes metadata for a TensorboardTimeSeries.", - "type": "object", - "properties": { - "maxStep": { - "description": "Output only. Max step index of all data points within a TensorboardTimeSeries.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "maxWallTime": { - "description": "Output only. Max wall clock timestamp of all data points within a TensorboardTimeSeries.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "maxBlobSequenceLength": { - "description": "Output only. The largest blob sequence length (number of blobs) of all data points in this time series, if its ValueType is BLOB_SEQUENCE.", - "readOnly": true, - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse": { - "id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse", - "description": "Response message for TensorboardService.BatchCreateTensorboardTimeSeries.", - "type": "object", - "properties": { - "tensorboardTimeSeries": { - "description": "The created TensorboardTimeSeries.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" - } - } - } - }, - "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse": { - "id": "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse", - "description": "Response message for TensorboardService.ListTensorboardTimeSeries.", - "type": "object", - "properties": { - "tensorboardTimeSeries": { - "description": "The TensorboardTimeSeries mathching the request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as ListTensorboardTimeSeriesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse": { - "id": "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse", - "description": "Response message for TensorboardService.BatchReadTensorboardTimeSeriesData.", - "type": "object", - "properties": { - "timeSeriesData": { - "description": "The returned time series data.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TimeSeriesData" - } - } - } - }, - "GoogleCloudAiplatformV1TimeSeriesData": { - "id": "GoogleCloudAiplatformV1TimeSeriesData", - "description": "All the data stored in a TensorboardTimeSeries.", - "type": "object", - "properties": { - "tensorboardTimeSeriesId": { - "description": "Required. The ID of the TensorboardTimeSeries, which will become the final component of the TensorboardTimeSeries' resource name", - "type": "string" - }, - "valueType": { - "description": "Required. Immutable. The value type of this time series. All the values in this time series data must match this value type.", - "type": "string", - "enumDescriptions": [ - "The value type is unspecified.", - "Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", - "Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", - "Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." - ], - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "SCALAR", - "TENSOR", - "BLOB_SEQUENCE" - ] - }, - "values": { - "description": "Required. Data points in this time series.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" - } - } - } - }, - "GoogleCloudAiplatformV1TimeSeriesDataPoint": { - "id": "GoogleCloudAiplatformV1TimeSeriesDataPoint", - "description": "A TensorboardTimeSeries data point.", - "type": "object", - "properties": { - "scalar": { - "description": "A scalar value.", - "$ref": "GoogleCloudAiplatformV1Scalar" - }, - "tensor": { - "description": "A tensor value.", - "$ref": "GoogleCloudAiplatformV1TensorboardTensor" - }, - "blobs": { - "description": "A blob sequence value.", - "$ref": "GoogleCloudAiplatformV1TensorboardBlobSequence" - }, - "wallTime": { - "description": "Wall clock timestamp when this data point is generated by the end user.", - "type": "string", - "format": "google-datetime" - }, - "step": { - "description": "Step index of this data point within the run.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1Scalar": { - "id": "GoogleCloudAiplatformV1Scalar", - "description": "One point viewable on a scalar metric plot.", - "type": "object", - "properties": { - "value": { - "description": "Value of the point at this step / timestamp.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1TensorboardTensor": { - "id": "GoogleCloudAiplatformV1TensorboardTensor", - "description": "One point viewable on a tensor metric plot.", - "type": "object", - "properties": { - "value": { - "description": "Required. Serialized form of https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto", - "type": "string", - "format": "byte" - }, - "versionNumber": { - "description": "Optional. Version number of TensorProto used to serialize value.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1TensorboardBlobSequence": { - "id": "GoogleCloudAiplatformV1TensorboardBlobSequence", - "description": "One point viewable on a blob metric plot, but mostly just a wrapper message to work around repeated fields can't be used directly within `oneof` fields.", - "type": "object", - "properties": { - "values": { - "description": "List of blobs contained within the sequence.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardBlob" - } - } - } - }, - "GoogleCloudAiplatformV1TensorboardBlob": { - "id": "GoogleCloudAiplatformV1TensorboardBlob", - "description": "One blob (e.g, image, graph) viewable on a blob metric plot.", - "type": "object", - "properties": { - "id": { - "description": "Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob stored in the Cloud Storage bucket of the consumer project.", - "readOnly": true, - "type": "string" - }, - "data": { - "description": "Optional. The bytes of the blob is not present unless it's returned by the ReadTensorboardBlobData endpoint.", - "type": "string", - "format": "byte" - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse": { - "id": "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse", - "description": "Response message for TensorboardService.ReadTensorboardTimeSeriesData.", - "type": "object", - "properties": { - "timeSeriesData": { - "description": "The returned time series data.", - "$ref": "GoogleCloudAiplatformV1TimeSeriesData" - } - } - }, - "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse": { - "id": "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse", - "description": "Response message for TensorboardService.ReadTensorboardBlobData.", - "type": "object", - "properties": { - "blobs": { - "description": "Blob messages containing blob bytes.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TensorboardBlob" - } - } - } - }, - "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest": { - "id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest", - "description": "Request message for TensorboardService.WriteTensorboardExperimentData.", - "type": "object", - "properties": { - "writeRunDataRequests": { - "description": "Required. Requests containing per-run TensorboardTimeSeries data to write.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest" - } - } - } - }, - "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest": { - "id": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest", - "description": "Request message for TensorboardService.WriteTensorboardRunData.", - "type": "object", - "properties": { - "tensorboardRun": { - "description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", - "type": "string" - }, - "timeSeriesData": { - "description": "Required. The TensorboardTimeSeries data to write. Values with in a time series are indexed by their step value. Repeated writes to the same step will overwrite the existing value for that step. The upper limit of data points per write request is 5000.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TimeSeriesData" - } - } - } - }, - "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse": { - "id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse", - "description": "Response message for TensorboardService.WriteTensorboardExperimentData.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse": { - "id": "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse", - "description": "Response message for TensorboardService.WriteTensorboardRunData.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest": { - "id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest", - "description": "Request message for TensorboardService.ExportTensorboardTimeSeriesData.", - "type": "object", - "properties": { - "filter": { - "description": "Exports the TensorboardTimeSeries' data that match the filter expression.", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of data points to return per page. The default page_size is 1000. Values must be between 1 and 10000. Values above 10000 are coerced to 10000.", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "A page token, received from a previous ExportTensorboardTimeSeriesData call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ExportTensorboardTimeSeriesData must match the call that provided the page token.", - "type": "string" - }, - "orderBy": { - "description": "Field to use to sort the TensorboardTimeSeries' data. By default, TensorboardTimeSeries' data is returned in a pseudo random order.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse": { - "id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse", - "description": "Response message for TensorboardService.ExportTensorboardTimeSeriesData.", - "type": "object", - "properties": { - "timeSeriesDataPoints": { - "description": "The returned time series data points.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" - } - }, - "nextPageToken": { - "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1Study": { - "id": "GoogleCloudAiplatformV1Study", - "description": "A message representing a Study.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The name of a study. The study's globally unique identifier. Format: `projects/{project}/locations/{location}/studies/{study}`", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. Describes the Study, default value is empty string.", - "type": "string" - }, - "studySpec": { - "description": "Required. Configuration of the Study.", - "$ref": "GoogleCloudAiplatformV1StudySpec" - }, - "state": { - "description": "Output only. The detailed state of a Study.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The study state is unspecified.", - "The study is active.", - "The study is stopped due to an internal error.", - "The study is done when the service exhausts the parameter search space or max_trial_count is reached." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "INACTIVE", - "COMPLETED" - ] - }, - "createTime": { - "description": "Output only. Time at which the study was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "inactiveReason": { - "description": "Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListStudiesResponse": { - "id": "GoogleCloudAiplatformV1ListStudiesResponse", - "description": "Response message for VizierService.ListStudies.", - "type": "object", - "properties": { - "studies": { - "description": "The studies associated with the project.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Study" - } - }, - "nextPageToken": { - "description": "Passes this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1LookupStudyRequest": { - "id": "GoogleCloudAiplatformV1LookupStudyRequest", - "description": "Request message for VizierService.LookupStudy.", - "type": "object", - "properties": { - "displayName": { - "description": "Required. The user-defined display name of the Study", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SuggestTrialsRequest": { - "id": "GoogleCloudAiplatformV1SuggestTrialsRequest", - "description": "Request message for VizierService.SuggestTrials.", - "type": "object", - "properties": { - "suggestionCount": { - "description": "Required. The number of suggestions requested. It must be positive.", - "type": "integer", - "format": "int32" - }, - "clientId": { - "description": "Required. The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", - "type": "string" - }, - "contexts": { - "description": "Optional. This allows you to specify the \"context\" for a Trial; a context is a slice (a subspace) of the search space. Typical uses for contexts: 1) You are using Vizier to tune a server for best performance, but there's a strong weekly cycle. The context specifies the day-of-week. This allows Tuesday to generalize from Wednesday without assuming that everything is identical. 2) Imagine you're optimizing some medical treatment for people. As they walk in the door, you know certain facts about them (e.g. sex, weight, height, blood-pressure). Put that information in the context, and Vizier will adapt its suggestions to the patient. 3) You want to do a fair A/B test efficiently. Specify the \"A\" and \"B\" conditions as contexts, and Vizier will generalize between \"A\" and \"B\" conditions. If they are similar, this will allow Vizier to converge to the optimum faster than if \"A\" and \"B\" were separate Studies. NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the CreateTrial() RPC; that's the asynchronous option where you don't need a close association between contexts and suggestions. NOTE: All the Parameters you set in a context MUST be defined in the Study. NOTE: You must supply 0 or $suggestion_count contexts. If you don't supply any contexts, Vizier will make suggestions from the full search space specified in the StudySpec; if you supply a full set of context, each suggestion will match the corresponding context. NOTE: A Context with no features set matches anything, and allows suggestions from the full search space. NOTE: Contexts MUST lie within the search space specified in the StudySpec. It's an error if they don't. NOTE: Contexts preferentially match ACTIVE then REQUESTED trials before new suggestions are generated. NOTE: Generation of suggestions involves a match between a Context and (optionally) a REQUESTED trial; if that match is not fully specified, a suggestion will be geneated in the merged subspace.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrialContext" - } - } - } - }, - "GoogleCloudAiplatformV1TrialContext": { - "id": "GoogleCloudAiplatformV1TrialContext", - "type": "object", - "properties": { - "description": { - "description": "A human-readable field which can store a description of this context. This will become part of the resulting Trial's description field.", - "type": "string" - }, - "parameters": { - "description": "If/when a Trial is generated or selected from this Context, its Parameters will match any parameters specified here. (I.e. if this context specifies parameter name:'a' int_value:3, then a resulting Trial will have int_value:3 for its parameter named 'a'.) Note that we first attempt to match existing REQUESTED Trials with contexts, and if there are no matches, we generate suggestions in the subspace defined by the parameters specified here. NOTE: a Context without any Parameters matches the entire feasible search space.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1TrialParameter" - } - } - } - }, - "GoogleCloudAiplatformV1ListTrialsResponse": { - "id": "GoogleCloudAiplatformV1ListTrialsResponse", - "description": "Response message for VizierService.ListTrials.", - "type": "object", - "properties": { - "trials": { - "description": "The Trials associated with the Study.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Trial" - } - }, - "nextPageToken": { - "description": "Pass this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AddTrialMeasurementRequest": { - "id": "GoogleCloudAiplatformV1AddTrialMeasurementRequest", - "description": "Request message for VizierService.AddTrialMeasurement.", - "type": "object", - "properties": { - "measurement": { - "description": "Required. The measurement to be added to a Trial.", - "$ref": "GoogleCloudAiplatformV1Measurement" - } - } - }, - "GoogleCloudAiplatformV1CompleteTrialRequest": { - "id": "GoogleCloudAiplatformV1CompleteTrialRequest", - "description": "Request message for VizierService.CompleteTrial.", - "type": "object", - "properties": { - "finalMeasurement": { - "description": "Optional. If provided, it will be used as the completed Trial's final_measurement; Otherwise, the service will auto-select a previously reported measurement as the final-measurement", - "$ref": "GoogleCloudAiplatformV1Measurement" - }, - "trialInfeasible": { - "description": "Optional. True if the Trial cannot be run with the given Parameter, and final_measurement will be ignored.", - "type": "boolean" - }, - "infeasibleReason": { - "description": "Optional. A human readable reason why the trial was infeasible. This should only be provided if `trial_infeasible` is true.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest": { - "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest", - "description": "Request message for VizierService.CheckTrialEarlyStoppingState.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1StopTrialRequest": { - "id": "GoogleCloudAiplatformV1StopTrialRequest", - "description": "Request message for VizierService.StopTrial.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ListOptimalTrialsRequest": { - "id": "GoogleCloudAiplatformV1ListOptimalTrialsRequest", - "description": "Request message for VizierService.ListOptimalTrials.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ListOptimalTrialsResponse": { - "id": "GoogleCloudAiplatformV1ListOptimalTrialsResponse", - "description": "Response message for VizierService.ListOptimalTrials.", - "type": "object", - "properties": { - "optimalTrials": { - "description": "The pareto-optimal Trials for multiple objective Study or the optimal trial for single objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Trial" - } - } - } - }, - "GoogleCloudAiplatformV1PublisherModel": { - "id": "GoogleCloudAiplatformV1PublisherModel", - "description": "A Model Garden Publisher Model.", - "type": "object", - "properties": { - "name": { - "description": "Output only. The resource name of the PublisherModel.", - "readOnly": true, - "type": "string" - }, - "versionId": { - "description": "Output only. Immutable. The version ID of the PublisherModel. A new version is committed when a new model version is uploaded under an existing model id. It is an auto-incrementing decimal number in string representation.", - "readOnly": true, - "type": "string" - }, - "openSourceCategory": { - "description": "Required. Indicates the open source category of the publisher model.", - "type": "string", - "enumDescriptions": [ - "The open source category is unspecified, which should not be used.", - "Used to indicate the PublisherModel is not open sourced.", - "Used to indicate the PublisherModel is a Google-owned open source model w/ Google checkpoint.", - "Used to indicate the PublisherModel is a 3p-owned open source model w/ Google checkpoint.", - "Used to indicate the PublisherModel is a Google-owned pure open source model.", - "Used to indicate the PublisherModel is a 3p-owned pure open source model." - ], - "enum": [ - "OPEN_SOURCE_CATEGORY_UNSPECIFIED", - "PROPRIETARY", - "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", - "THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", - "GOOGLE_OWNED_OSS", - "THIRD_PARTY_OWNED_OSS" - ] - }, - "supportedActions": { - "description": "Optional. Supported call-to-action options.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToAction" - }, - "frameworks": { - "description": "Optional. Additional information about the model's Frameworks.", - "type": "array", - "items": { - "type": "string" - } - }, - "launchStage": { - "description": "Optional. Indicates the launch stage of the model.", - "type": "string", - "enumDescriptions": [ - "The model launch stage is unspecified.", - "Used to indicate the PublisherModel is at Experimental launch stage, available to a small set of customers.", - "Used to indicate the PublisherModel is at Private Preview launch stage, only available to a small set of customers, although a larger set of customers than an Experimental launch. Previews are the first launch stage used to get feedback from customers.", - "Used to indicate the PublisherModel is at Public Preview launch stage, available to all customers, although not supported for production workloads.", - "Used to indicate the PublisherModel is at GA launch stage, available to all customers and ready for production workload." - ], - "enum": [ - "LAUNCH_STAGE_UNSPECIFIED", - "EXPERIMENTAL", - "PRIVATE_PREVIEW", - "PUBLIC_PREVIEW", - "GA" - ] - }, - "versionState": { - "description": "Optional. Indicates the state of the model version.", - "type": "string", - "enumDescriptions": [ - "The version state is unspecified.", - "Used to indicate the version is stable.", - "Used to indicate the version is unstable." - ], - "enum": [ - "VERSION_STATE_UNSPECIFIED", - "VERSION_STATE_STABLE", - "VERSION_STATE_UNSTABLE" - ] - }, - "publisherModelTemplate": { - "description": "Optional. Output only. Immutable. Used to indicate this model has a publisher model and provide the template of the publisher model resource name.", - "readOnly": true, - "type": "string" - }, - "predictSchemata": { - "description": "Optional. The schemata that describes formats of the PublisherModel's predictions and explanations as given and returned via PredictionService.Predict.", - "$ref": "GoogleCloudAiplatformV1PredictSchemata" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToAction": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToAction", - "description": "Actions could take on this Publisher Model.", - "type": "object", - "properties": { - "viewRestApi": { - "description": "Optional. To view Rest API docs.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi" - }, - "openNotebook": { - "description": "Optional. Open notebook of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "openNotebooks": { - "description": "Optional. Open notebooks of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks" - }, - "createApplication": { - "description": "Optional. Create application using the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "openFineTuningPipeline": { - "description": "Optional. Open fine-tuning pipeline of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "openFineTuningPipelines": { - "description": "Optional. Open fine-tuning pipelines of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines" - }, - "openPromptTuningPipeline": { - "description": "Optional. Open prompt-tuning pipeline of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "openGenie": { - "description": "Optional. Open Genie / Playground.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "deploy": { - "description": "Optional. Deploy the PublisherModel to Vertex Endpoint.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy" - }, - "multiDeployVertex": { - "description": "Optional. Multiple setups to deploy the PublisherModel to Vertex Endpoint.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex" - }, - "deployGke": { - "description": "Optional. Deploy PublisherModel to Google Kubernetes Engine.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke" - }, - "openGenerationAiStudio": { - "description": "Optional. Open in Generation AI Studio.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "requestAccess": { - "description": "Optional. Request for access.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - }, - "openEvaluationPipeline": { - "description": "Optional. Open evaluation pipeline of the PublisherModel.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi", - "description": "Rest API docs.", - "type": "object", - "properties": { - "documentations": { - "description": "Required.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PublisherModelDocumentation" - } - }, - "title": { - "description": "Required. The title of the view rest API.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelDocumentation": { - "id": "GoogleCloudAiplatformV1PublisherModelDocumentation", - "description": "A named piece of documentation.", - "type": "object", - "properties": { - "title": { - "description": "Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, NODE.JS, etc..", - "type": "string" - }, - "content": { - "description": "Required. Content of this piece of document (in Markdown format).", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", - "description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", - "type": "object", - "properties": { - "references": { - "description": "Required.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1PublisherModelResourceReference" - } - }, - "title": { - "description": "Required. ", - "type": "string" - }, - "resourceTitle": { - "description": "Optional. Title of the resource.", - "type": "string" - }, - "resourceUseCase": { - "description": "Optional. Use case (CUJ) of the resource.", - "type": "string" - }, - "resourceDescription": { - "description": "Optional. Description of the resource.", - "type": "string" - }, - "supportsWorkbench": { - "description": "Optional. For notebook resource, whether the notebook supports Workbench.", - "type": "boolean" - }, - "colabNotebookDisabled": { - "description": "Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the \"open notebook\" dialog in UI.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelResourceReference": { - "id": "GoogleCloudAiplatformV1PublisherModelResourceReference", - "description": "Reference to a resource.", - "type": "object", - "properties": { - "uri": { - "description": "The URI of the resource.", - "type": "string" - }, - "resourceName": { - "description": "The resource name of the Google Cloud resource.", - "type": "string" - }, - "useCase": { - "description": "Use case (CUJ) of the resource.", - "deprecated": true, - "type": "string" - }, - "description": { - "description": "Description of the resource.", - "deprecated": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks", - "description": "Open notebooks.", - "type": "object", - "properties": { - "notebooks": { - "description": "Required. Regional resource references to notebooks.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - } - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines", - "description": "Open fine tuning pipelines.", - "type": "object", - "properties": { - "fineTuningPipelines": { - "description": "Required. Regional resource references to fine tuning pipelines.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" - } - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy", - "description": "Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests.", - "type": "object", - "properties": { - "dedicatedResources": { - "description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", - "$ref": "GoogleCloudAiplatformV1DedicatedResources" - }, - "automaticResources": { - "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", - "$ref": "GoogleCloudAiplatformV1AutomaticResources" - }, - "sharedResources": { - "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", - "type": "string" - }, - "modelDisplayName": { - "description": "Optional. Default model display name.", - "type": "string" - }, - "largeModelReference": { - "description": "Optional. Large model reference. When this is set, model_artifact_spec is not needed.", - "$ref": "GoogleCloudAiplatformV1LargeModelReference" - }, - "containerSpec": { - "description": "Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models.", - "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" - }, - "artifactUri": { - "description": "Optional. The path to the directory containing the Model artifact and any of its supporting files.", - "type": "string" - }, - "deployTaskName": { - "description": "Optional. The name of the deploy task (e.g., \"text to image generation\").", - "type": "string" - }, - "deployMetadata": { - "description": "Optional. Metadata information about this deployment config.", - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata" - }, - "title": { - "description": "Required. The title of the regional resource reference.", - "type": "string" - }, - "publicArtifactUri": { - "description": "Optional. The signed URI for ephemeral Cloud Storage access to model artifact.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1LargeModelReference": { - "id": "GoogleCloudAiplatformV1LargeModelReference", - "description": "Contains information about the Large Model.", - "type": "object", - "properties": { - "name": { - "description": "Required. The unique name of the large Foundation or pre-built model. Like \"chat-bison\", \"text-bison\". Or model name with version ID, like \"chat-bison@001\", \"text-bison@005\", etc.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata", - "description": "Metadata information about the deployment for managing deployment config.", - "type": "object", - "properties": { - "labels": { - "description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sampleRequest": { - "description": "Optional. Sample request for deployed endpoint.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex", - "description": "Multiple setups to deploy the PublisherModel.", - "type": "object", - "properties": { - "multiDeployVertex": { - "description": "Optional. One click deployment configurations.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy" - } - } - } - }, - "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke": { - "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke", - "description": "Configurations for PublisherModel GKE deployment", - "type": "object", - "properties": { - "gkeYamlConfigs": { - "description": "Optional. GKE deployment configuration in yaml format.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1DeployRequest": { - "id": "GoogleCloudAiplatformV1DeployRequest", - "description": "Request message for ModelGardenService.Deploy.", - "type": "object", - "properties": { - "publisherModelName": { - "description": "The Model Garden model to deploy. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`.", - "type": "string" - }, - "huggingFaceModelId": { - "description": "The Hugging Face model to deploy. Format: Hugging Face model ID like `google/gemma-2-2b-it`.", - "type": "string" - }, - "modelConfig": { - "description": "Optional. The model config to use for the deployment. If not specified, the default model config will be used.", - "$ref": "GoogleCloudAiplatformV1DeployRequestModelConfig" - }, - "endpointConfig": { - "description": "Optional. The endpoint config to use for the deployment. If not specified, the default endpoint config will be used.", - "$ref": "GoogleCloudAiplatformV1DeployRequestEndpointConfig" - }, - "deployConfig": { - "description": "Optional. The deploy config to use for the deployment. If not specified, the default deploy config will be used.", - "$ref": "GoogleCloudAiplatformV1DeployRequestDeployConfig" - } - } - }, - "GoogleCloudAiplatformV1DeployRequestModelConfig": { - "id": "GoogleCloudAiplatformV1DeployRequestModelConfig", - "description": "The model config to use for the deployment.", - "type": "object", - "properties": { - "acceptEula": { - "description": "Optional. Whether the user accepts the End User License Agreement (EULA) for the model.", - "type": "boolean" - }, - "huggingFaceAccessToken": { - "description": "Optional. The Hugging Face read access token used to access the model artifacts of gated models.", - "type": "string" - }, - "huggingFaceCacheEnabled": { - "description": "Optional. If true, the model will deploy with a cached version instead of directly downloading the model artifacts from Hugging Face. This is suitable for VPC-SC users with limited internet access.", - "type": "boolean" - }, - "modelDisplayName": { - "description": "Optional. The user-specified display name of the uploaded model. If not set, a default name will be used.", - "type": "string" - }, - "containerSpec": { - "description": "Optional. The specification of the container that is to be used when deploying. If not set, the default container spec will be used.", - "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" - }, - "modelUserId": { - "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. When not provided, Vertex AI will generate a value for this ID. When Model Registry model is provided, this field will be ignored. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeployRequestEndpointConfig": { - "id": "GoogleCloudAiplatformV1DeployRequestEndpointConfig", - "description": "The endpoint config to use for the deployment.", - "type": "object", - "properties": { - "endpointDisplayName": { - "description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", - "type": "string" - }, - "dedicatedEndpointEnabled": { - "description": "Optional. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1DeployRequestDeployConfig": { - "id": "GoogleCloudAiplatformV1DeployRequestDeployConfig", - "description": "The deploy config to use for the deployment.", - "type": "object", - "properties": { - "dedicatedResources": { - "description": "Optional. The dedicated resources to use for the endpoint. If not set, the default resources will be used.", - "$ref": "GoogleCloudAiplatformV1DedicatedResources" - }, - "fastTryoutEnabled": { - "description": "Optional. If true, enable the QMT fast tryout feature for this model if possible.", - "type": "boolean" - }, - "systemLabels": { - "description": "Optional. System labels for Model Garden deployments. These labels are managed by Google and for tracking purposes only.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RagCorpus": { - "id": "GoogleCloudAiplatformV1RagCorpus", - "description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", - "type": "object", - "properties": { - "vectorDbConfig": { - "description": "Optional. Immutable. The config for the Vector DBs.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfig" - }, - "vertexAiSearchConfig": { - "description": "Optional. Immutable. The config for the Vertex AI Search.", - "$ref": "GoogleCloudAiplatformV1VertexAiSearchConfig" - }, - "name": { - "description": "Output only. The resource name of the RagCorpus.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "Optional. The description of the RagCorpus.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this RagCorpus was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this RagCorpus was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "corpusStatus": { - "description": "Output only. RagCorpus state.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1CorpusStatus" - }, - "encryptionSpec": { - "description": "Optional. Immutable. The CMEK key name used to encrypt at-rest data related to this Corpus. Only applicable to RagManagedDb option for Vector DB. This field can only be set at corpus creation time, and cannot be updated or deleted.", - "$ref": "GoogleCloudAiplatformV1EncryptionSpec" - } - } - }, - "GoogleCloudAiplatformV1RagVectorDbConfig": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfig", - "description": "Config for the Vector DB to use for RAG.", - "type": "object", - "properties": { - "ragManagedDb": { - "description": "The config for the RAG-managed Vector DB.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb" - }, - "pinecone": { - "description": "The config for the Pinecone.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone" - }, - "vertexVectorSearch": { - "description": "The config for the Vertex Vector Search.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch" - }, - "apiAuth": { - "description": "Authentication config for the chosen Vector DB.", - "$ref": "GoogleCloudAiplatformV1ApiAuth" - }, - "ragEmbeddingModelConfig": { - "description": "Optional. Immutable. The embedding model config of the Vector DB.", - "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfig" - } - } - }, - "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", - "description": "The config for the default RAG-managed Vector DB.", - "type": "object", - "properties": { - "knn": { - "description": "Performs a KNN search on RagCorpus. Default choice if not specified.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN" - }, - "ann": { - "description": "Performs an ANN search on RagCorpus. Use this if you have a lot of files (\u003e 10K) in your RagCorpus and want to reduce the search latency.", - "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN" - } - } - }, - "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN", - "description": "Config for KNN search.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN", - "description": "Config for ANN search. RagManagedDb uses a tree-based structure to partition data and facilitate faster searches. As a tradeoff, it requires longer indexing time and manual triggering of index rebuild via the ImportRagFiles and UpdateRagCorpus API.", - "type": "object", - "properties": { - "treeDepth": { - "description": "The depth of the tree-based structure. Only depth values of 2 and 3 are supported. Recommended value is 2 if you have if you have O(10K) files in the RagCorpus and set this to 3 if more than that. Default value is 2.", - "type": "integer", - "format": "int32" - }, - "leafCount": { - "description": "Number of leaf nodes in the tree-based structure. Each leaf node contains groups of closely related vectors along with their corresponding centroid. Recommended value is 10 * sqrt(num of RagFiles in your RagCorpus). Default value is 500.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1RagVectorDbConfigPinecone": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", - "description": "The config for the Pinecone.", - "type": "object", - "properties": { - "indexName": { - "description": "Pinecone index name. This value cannot be changed after it's set.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch": { - "id": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", - "description": "The config for the Vertex Vector Search.", - "type": "object", - "properties": { - "indexEndpoint": { - "description": "The resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", - "type": "string" - }, - "index": { - "description": "The resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}`", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagEmbeddingModelConfig": { - "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", - "description": "Config for the embedding model to use for RAG.", - "type": "object", - "properties": { - "vertexPredictionEndpoint": { - "description": "The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. Endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search.", - "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint" - } - } - }, - "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint": { - "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", - "description": "Config representing a model hosted on Vertex Prediction Endpoint.", - "type": "object", - "properties": { - "endpoint": { - "description": "Required. The endpoint resource name. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "type": "string" - }, - "model": { - "description": "Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project}/locations/{location}/models/{model}`", - "readOnly": true, - "type": "string" - }, - "modelVersionId": { - "description": "Output only. Version ID of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1VertexAiSearchConfig": { - "id": "GoogleCloudAiplatformV1VertexAiSearchConfig", - "description": "Config for the Vertex AI Search.", - "type": "object", - "properties": { - "servingConfig": { - "description": "Vertex AI Search Serving Config resource full name. For example, `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}` or `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CorpusStatus": { - "id": "GoogleCloudAiplatformV1CorpusStatus", - "description": "RagCorpus status.", - "type": "object", - "properties": { - "state": { - "description": "Output only. RagCorpus life state.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "This state is not supposed to happen.", - "RagCorpus resource entry is initialized, but hasn't done validation.", - "RagCorpus is provisioned successfully and is ready to serve.", - "RagCorpus is in a problematic situation. See `error_message` field for details." - ], - "enum": [ - "UNKNOWN", - "INITIALIZED", - "ACTIVE", - "ERROR" - ] - }, - "errorStatus": { - "description": "Output only. Only when the `state` field is ERROR.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListRagCorporaResponse": { - "id": "GoogleCloudAiplatformV1ListRagCorporaResponse", - "description": "Response message for VertexRagDataService.ListRagCorpora.", - "type": "object", - "properties": { - "ragCorpora": { - "description": "List of RagCorpora in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RagCorpus" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UploadRagFileRequest": { - "id": "GoogleCloudAiplatformV1UploadRagFileRequest", - "description": "Request message for VertexRagDataService.UploadRagFile.", - "type": "object", - "properties": { - "ragFile": { - "description": "Required. The RagFile to upload.", - "$ref": "GoogleCloudAiplatformV1RagFile" - }, - "uploadRagFileConfig": { - "description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile.", - "$ref": "GoogleCloudAiplatformV1UploadRagFileConfig" - } - } - }, - "GoogleCloudAiplatformV1RagFile": { - "id": "GoogleCloudAiplatformV1RagFile", - "description": "A RagFile contains user data for chunking, embedding and indexing.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "googleDriveSource": { - "description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1GoogleDriveSource" - }, - "directUploadSource": { - "description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1DirectUploadSource" - }, - "slackSource": { - "description": "The RagFile is imported from a Slack channel.", - "$ref": "GoogleCloudAiplatformV1SlackSource" - }, - "jiraSource": { - "description": "The RagFile is imported from a Jira query.", - "$ref": "GoogleCloudAiplatformV1JiraSource" - }, - "sharePointSources": { - "description": "The RagFile is imported from a SharePoint source.", - "$ref": "GoogleCloudAiplatformV1SharePointSources" - }, - "name": { - "description": "Output only. The resource name of the RagFile.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.", - "type": "string" - }, - "description": { - "description": "Optional. The description of the RagFile.", - "type": "string" - }, - "createTime": { - "description": "Output only. Timestamp when this RagFile was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Timestamp when this RagFile was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "fileStatus": { - "description": "Output only. State of the RagFile.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1FileStatus" - }, - "userMetadata": { - "description": "Output only. The metadata for metadata search. The user_metadata Needs to be in JSON format.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GoogleDriveSource": { - "id": "GoogleCloudAiplatformV1GoogleDriveSource", - "description": "The Google Drive location for the input content.", - "type": "object", - "properties": { - "resourceIds": { - "description": "Required. Google Drive resource IDs.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId" - } - } - } - }, - "GoogleCloudAiplatformV1GoogleDriveSourceResourceId": { - "id": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId", - "description": "The type and ID of the Google Drive resource.", - "type": "object", - "properties": { - "resourceType": { - "description": "Required. The type of the Google Drive resource.", - "type": "string", - "enumDescriptions": [ - "Unspecified resource type.", - "File resource type.", - "Folder resource type." - ], - "enum": [ - "RESOURCE_TYPE_UNSPECIFIED", - "RESOURCE_TYPE_FILE", - "RESOURCE_TYPE_FOLDER" - ] - }, - "resourceId": { - "description": "Required. The ID of the Google Drive resource.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DirectUploadSource": { - "id": "GoogleCloudAiplatformV1DirectUploadSource", - "description": "The input content is encapsulated and uploaded in the request.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1SlackSource": { - "id": "GoogleCloudAiplatformV1SlackSource", - "description": "The Slack source for the ImportRagFilesRequest.", - "type": "object", - "properties": { - "channels": { - "description": "Required. The Slack channels.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannels" - } - } - } - }, - "GoogleCloudAiplatformV1SlackSourceSlackChannels": { - "id": "GoogleCloudAiplatformV1SlackSourceSlackChannels", - "description": "SlackChannels contains the Slack channels and corresponding access token.", - "type": "object", - "properties": { - "channels": { - "description": "Required. The Slack channel IDs.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel" - } - }, - "apiKeyConfig": { - "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token.", - "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" - } - } - }, - "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel": { - "id": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel", - "description": "SlackChannel contains the Slack channel ID and the time range to import.", - "type": "object", - "properties": { - "channelId": { - "description": "Required. The Slack channel ID.", - "type": "string" - }, - "startTime": { - "description": "Optional. The starting timestamp for messages to import.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Optional. The ending timestamp for messages to import.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1JiraSource": { - "id": "GoogleCloudAiplatformV1JiraSource", - "description": "The Jira source for the ImportRagFilesRequest.", - "type": "object", - "properties": { - "jiraQueries": { - "description": "Required. The Jira queries.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1JiraSourceJiraQueries" - } - } - } - }, - "GoogleCloudAiplatformV1JiraSourceJiraQueries": { - "id": "GoogleCloudAiplatformV1JiraSourceJiraQueries", - "description": "JiraQueries contains the Jira queries and corresponding authentication.", - "type": "object", - "properties": { - "projects": { - "description": "A list of Jira projects to import in their entirety.", - "type": "array", - "items": { - "type": "string" - } - }, - "customQueries": { - "description": "A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/", - "type": "array", - "items": { - "type": "string" - } - }, - "email": { - "description": "Required. The Jira email address.", - "type": "string" - }, - "serverUri": { - "description": "Required. The Jira server URI.", - "type": "string" - }, - "apiKeyConfig": { - "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).", - "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" - } - } - }, - "GoogleCloudAiplatformV1SharePointSources": { - "id": "GoogleCloudAiplatformV1SharePointSources", - "description": "The SharePointSources to pass to ImportRagFiles.", - "type": "object", - "properties": { - "sharePointSources": { - "description": "The SharePoint sources.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource" - } - } - } - }, - "GoogleCloudAiplatformV1SharePointSourcesSharePointSource": { - "id": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource", - "description": "An individual SharePointSource.", - "type": "object", - "properties": { - "sharepointFolderPath": { - "description": "The path of the SharePoint folder to download from.", - "type": "string" - }, - "sharepointFolderId": { - "description": "The ID of the SharePoint folder to download from.", - "type": "string" - }, - "driveName": { - "description": "The name of the drive to download from.", - "type": "string" - }, - "driveId": { - "description": "The ID of the drive to download from.", - "type": "string" - }, - "clientId": { - "description": "The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions \"Files.ReadAll\", \"Sites.ReadAll\" and BrowserSiteLists.Read.All.", - "type": "string" - }, - "clientSecret": { - "description": "The application secret for the app registered in Azure.", - "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" - }, - "tenantId": { - "description": "Unique identifier of the Azure Active Directory Instance.", - "type": "string" - }, - "sharepointSiteName": { - "description": "The name of the SharePoint site to download from. This can be the site name or the site id.", - "type": "string" - }, - "fileId": { - "description": "Output only. The SharePoint file id. Output only.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1FileStatus": { - "id": "GoogleCloudAiplatformV1FileStatus", - "description": "RagFile status.", - "type": "object", - "properties": { - "state": { - "description": "Output only. RagFile state.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "RagFile state is unspecified.", - "RagFile resource has been created and indexed successfully.", - "RagFile resource is in a problematic state. See `error_message` field for details." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "ERROR" - ] - }, - "errorStatus": { - "description": "Output only. Only when the `state` field is ERROR.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UploadRagFileConfig": { - "id": "GoogleCloudAiplatformV1UploadRagFileConfig", - "description": "Config for uploading RagFile.", - "type": "object", - "properties": { - "ragFileTransformationConfig": { - "description": "Specifies the transformation config for RagFiles.", - "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig" - } - } - }, - "GoogleCloudAiplatformV1RagFileTransformationConfig": { - "id": "GoogleCloudAiplatformV1RagFileTransformationConfig", - "description": "Specifies the transformation config for RagFiles.", - "type": "object", - "properties": { - "ragFileChunkingConfig": { - "description": "Specifies the chunking config for RagFiles.", - "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfig" - } - } - }, - "GoogleCloudAiplatformV1RagFileChunkingConfig": { - "id": "GoogleCloudAiplatformV1RagFileChunkingConfig", - "description": "Specifies the size and overlap of chunks for RagFiles.", - "type": "object", - "properties": { - "fixedLengthChunking": { - "description": "Specifies the fixed length chunking config.", - "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking" - } - } - }, - "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking": { - "id": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", - "description": "Specifies the fixed length chunking config.", - "type": "object", - "properties": { - "chunkSize": { - "description": "The size of the chunks.", - "type": "integer", - "format": "int32" - }, - "chunkOverlap": { - "description": "The overlap between chunks.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1UploadRagFileResponse": { - "id": "GoogleCloudAiplatformV1UploadRagFileResponse", - "description": "Response message for VertexRagDataService.UploadRagFile.", - "type": "object", - "properties": { - "ragFile": { - "description": "The RagFile that had been uploaded into the RagCorpus.", - "$ref": "GoogleCloudAiplatformV1RagFile" - }, - "error": { - "description": "The error that occurred while processing the RagFile.", - "$ref": "GoogleRpcStatus" - } - } - }, - "GoogleCloudAiplatformV1ImportRagFilesRequest": { - "id": "GoogleCloudAiplatformV1ImportRagFilesRequest", - "description": "Request message for VertexRagDataService.ImportRagFiles.", - "type": "object", - "properties": { - "importRagFilesConfig": { - "description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles.", - "$ref": "GoogleCloudAiplatformV1ImportRagFilesConfig" - } - } - }, - "GoogleCloudAiplatformV1ImportRagFilesConfig": { - "id": "GoogleCloudAiplatformV1ImportRagFilesConfig", - "description": "Config for importing RagFiles.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory`", - "$ref": "GoogleCloudAiplatformV1GcsSource" - }, - "googleDriveSource": { - "description": "Google Drive location. Supports importing individual files as well as Google Drive folders.", - "$ref": "GoogleCloudAiplatformV1GoogleDriveSource" - }, - "slackSource": { - "description": "Slack channels with their corresponding access tokens.", - "$ref": "GoogleCloudAiplatformV1SlackSource" - }, - "jiraSource": { - "description": "Jira queries with their corresponding authentication.", - "$ref": "GoogleCloudAiplatformV1JiraSource" - }, - "sharePointSources": { - "description": "SharePoint sources.", - "$ref": "GoogleCloudAiplatformV1SharePointSources" - }, - "partialFailureGcsSink": { - "description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`.", - "deprecated": true, - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "partialFailureBigquerySink": { - "description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`.", - "deprecated": true, - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "importResultGcsSink": { - "description": "The Cloud Storage path to write import result to.", - "$ref": "GoogleCloudAiplatformV1GcsDestination" - }, - "importResultBigquerySink": { - "description": "The BigQuery destination to write import result to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table.", - "$ref": "GoogleCloudAiplatformV1BigQueryDestination" - }, - "ragFileTransformationConfig": { - "description": "Specifies the transformation config for RagFiles.", - "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig" - }, - "ragFileParsingConfig": { - "description": "Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set.", - "$ref": "GoogleCloudAiplatformV1RagFileParsingConfig" - }, - "maxEmbeddingRequestsPerMin": { - "description": "Optional. The max number of queries per minute that this job is allowed to make to the embedding model specified on the corpus. This value is specific to this job and not shared across other import jobs. Consult the Quotas page on the project to set an appropriate value here. If unspecified, a default value of 1,000 QPM would be used.", - "type": "integer", - "format": "int32" - }, - "rebuildAnnIndex": { - "description": "Rebuilds the ANN index to optimize for recall on the imported data. Only applicable for RagCorpora running on RagManagedDb with `retrieval_strategy` set to `ANN`. The rebuild will be performed using the existing ANN config set on the RagCorpus. To change the ANN config, please use the UpdateRagCorpus API. Default is false, i.e., index is not rebuilt.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1RagFileParsingConfig": { - "id": "GoogleCloudAiplatformV1RagFileParsingConfig", - "description": "Specifies the parsing config for RagFiles.", - "type": "object", - "properties": { - "layoutParser": { - "description": "The Layout Parser to use for RagFiles.", - "$ref": "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser" - }, - "llmParser": { - "description": "The LLM Parser to use for RagFiles.", - "$ref": "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser" - } - } - }, - "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser": { - "id": "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser", - "description": "Document AI Layout Parser config.", - "type": "object", - "properties": { - "processorName": { - "description": "The full resource name of a Document AI processor or processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`. If specified, the `additional_config.parse_as_scanned_pdf` field must be false. Format: * `projects/{project_id}/locations/{location}/processors/{processor_id}` * `projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}`", - "type": "string" - }, - "maxParsingRequestsPerMin": { - "description": "The maximum number of requests the job is allowed to make to the Document AI processor per minute. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If unspecified, a default value of 120 QPM would be used.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser": { - "id": "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser", - "description": "Specifies the LLM parsing for RagFiles.", - "type": "object", - "properties": { - "modelName": { - "description": "The name of a LLM model used for parsing. Format: * `projects/{project_id}/locations/{location}/publishers/{publisher}/models/{model}`", - "type": "string" - }, - "maxParsingRequestsPerMin": { - "description": "The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used.", - "type": "integer", - "format": "int32" - }, - "customParsingPrompt": { - "description": "The prompt to use for parsing. If not specified, a default prompt will be used.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ListRagFilesResponse": { - "id": "GoogleCloudAiplatformV1ListRagFilesResponse", - "description": "Response message for VertexRagDataService.ListRagFiles.", - "type": "object", - "properties": { - "ragFiles": { - "description": "List of RagFiles in the requested page.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RagFile" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1RagEngineConfig": { - "id": "GoogleCloudAiplatformV1RagEngineConfig", - "description": "Config for RagEngine.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. The name of the RagEngineConfig. Format: `projects/{project}/locations/{location}/ragEngineConfig`", - "type": "string" - }, - "ragManagedDbConfig": { - "description": "The config of the RagManagedDb used by RagEngine.", - "$ref": "GoogleCloudAiplatformV1RagManagedDbConfig" - } - } - }, - "GoogleCloudAiplatformV1RagManagedDbConfig": { - "id": "GoogleCloudAiplatformV1RagManagedDbConfig", - "description": "Configuration message for RagManagedDb used by RagEngine.", - "type": "object", - "properties": { - "scaled": { - "description": "Sets the RagManagedDb to the Scaled tier.", - "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigScaled" - }, - "basic": { - "description": "Sets the RagManagedDb to the Basic tier.", - "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigBasic" - }, - "unprovisioned": { - "description": "Sets the RagManagedDb to the Unprovisioned tier.", - "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned" - } - } - }, - "GoogleCloudAiplatformV1RagManagedDbConfigScaled": { - "id": "GoogleCloudAiplatformV1RagManagedDbConfigScaled", - "description": "Scaled tier offers production grade performance along with autoscaling functionality. It is suitable for customers with large amounts of data or performance sensitive workloads.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RagManagedDbConfigBasic": { - "id": "GoogleCloudAiplatformV1RagManagedDbConfigBasic", - "description": "Basic tier is a cost-effective and low compute tier suitable for the following cases: * Experimenting with RagManagedDb. * Small data size. * Latency insensitive workload. * Only using RAG Engine with external vector DBs. NOTE: This is the default tier if not explicitly chosen.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned": { - "id": "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned", - "description": "Disables the RAG Engine service and deletes all your data held within this service. This will halt the billing of the service. NOTE: Once deleted the data cannot be recovered. To start using RAG Engine again, you will need to update the tier by calling the UpdateRagEngineConfig API.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1RetrieveContextsRequest": { - "id": "GoogleCloudAiplatformV1RetrieveContextsRequest", - "description": "Request message for VertexRagService.RetrieveContexts.", - "type": "object", - "properties": { - "vertexRagStore": { - "description": "The data source for Vertex RagStore.", - "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore" - }, - "query": { - "description": "Required. Single RAG retrieve query.", - "$ref": "GoogleCloudAiplatformV1RagQuery" - } - } - }, - "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore": { - "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", - "description": "The data source for Vertex RagStore.", - "type": "object", - "properties": { - "ragResources": { - "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource" - } - }, - "vectorDistanceThreshold": { - "description": "Optional. Only return contexts with vector distance smaller than the threshold.", - "deprecated": true, - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource": { - "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource", - "description": "The definition of the Rag resource.", - "type": "object", - "properties": { - "ragCorpus": { - "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "type": "string" - }, - "ragFileIds": { - "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1RagQuery": { - "id": "GoogleCloudAiplatformV1RagQuery", - "description": "A query to retrieve relevant contexts.", - "type": "object", - "properties": { - "text": { - "description": "Optional. The query in text format to get relevant contexts.", - "type": "string" - }, - "ragRetrievalConfig": { - "description": "Optional. The retrieval config for the query.", - "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig" - } - } - }, - "GoogleCloudAiplatformV1RetrieveContextsResponse": { - "id": "GoogleCloudAiplatformV1RetrieveContextsResponse", - "description": "Response message for VertexRagService.RetrieveContexts.", - "type": "object", - "properties": { - "contexts": { - "description": "The contexts of the query.", - "$ref": "GoogleCloudAiplatformV1RagContexts" - } - } - }, - "GoogleCloudAiplatformV1RagContexts": { - "id": "GoogleCloudAiplatformV1RagContexts", - "description": "Relevant contexts for one query.", - "type": "object", - "properties": { - "contexts": { - "description": "All its contexts.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1RagContextsContext" - } - } - } - }, - "GoogleCloudAiplatformV1RagContextsContext": { - "id": "GoogleCloudAiplatformV1RagContextsContext", - "description": "A context of the query.", - "type": "object", - "properties": { - "sourceUri": { - "description": "If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", - "type": "string" - }, - "sourceDisplayName": { - "description": "The file display name.", - "type": "string" - }, - "text": { - "description": "The text chunk.", - "type": "string" - }, - "score": { - "description": "According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", - "type": "number", - "format": "double" - }, - "chunk": { - "description": "Context of the retrieved chunk.", - "$ref": "GoogleCloudAiplatformV1RagChunk" - } - } - }, - "GoogleCloudAiplatformV1AugmentPromptRequest": { - "id": "GoogleCloudAiplatformV1AugmentPromptRequest", - "description": "Request message for AugmentPrompt.", - "type": "object", - "properties": { - "vertexRagStore": { - "description": "Optional. Retrieves contexts from the Vertex RagStore.", - "$ref": "GoogleCloudAiplatformV1VertexRagStore" - }, - "contents": { - "description": "Optional. Input content to augment, only text format is supported for now.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "model": { - "description": "Optional. Metadata of the backend deployed model.", - "$ref": "GoogleCloudAiplatformV1AugmentPromptRequestModel" - } - } - }, - "GoogleCloudAiplatformV1AugmentPromptRequestModel": { - "id": "GoogleCloudAiplatformV1AugmentPromptRequestModel", - "description": "Metadata of the backend deployed model.", - "type": "object", - "properties": { - "model": { - "description": "Optional. The model that the user will send the augmented prompt for content generation.", - "type": "string" - }, - "modelVersion": { - "description": "Optional. The model version of the backend deployed model.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1AugmentPromptResponse": { - "id": "GoogleCloudAiplatformV1AugmentPromptResponse", - "description": "Response message for AugmentPrompt.", - "type": "object", - "properties": { - "augmentedPrompt": { - "description": "Augmented prompt, only text format is supported for now.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "facts": { - "description": "Retrieved facts from RAG data sources.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Fact" - } - } - } - }, - "GoogleCloudAiplatformV1Fact": { - "id": "GoogleCloudAiplatformV1Fact", - "description": "The fact used in grounding.", - "type": "object", - "properties": { - "query": { - "description": "Query that is used to retrieve this fact.", - "type": "string" - }, - "title": { - "description": "If present, it refers to the title of this fact.", - "type": "string" - }, - "uri": { - "description": "If present, this uri links to the source of the fact.", - "type": "string" - }, - "summary": { - "description": "If present, the summary/snippet of the fact.", - "type": "string" - }, - "vectorDistance": { - "description": "If present, the distance between the query vector and this fact vector.", - "deprecated": true, - "type": "number", - "format": "double" - }, - "score": { - "description": "If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", - "type": "number", - "format": "double" - }, - "chunk": { - "description": "If present, chunk properties.", - "$ref": "GoogleCloudAiplatformV1RagChunk" - } - } - }, - "GoogleCloudAiplatformV1CorroborateContentRequest": { - "id": "GoogleCloudAiplatformV1CorroborateContentRequest", - "description": "Request message for CorroborateContent.", - "type": "object", - "properties": { - "content": { - "description": "Optional. Input content to corroborate, only text format is supported for now.", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "facts": { - "description": "Optional. Facts used to generate the text can also be used to corroborate the text.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Fact" - } - }, - "parameters": { - "description": "Optional. Parameters that can be set to override default settings per request.", - "$ref": "GoogleCloudAiplatformV1CorroborateContentRequestParameters" - } - } - }, - "GoogleCloudAiplatformV1CorroborateContentRequestParameters": { - "id": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", - "description": "Parameters that can be overrided per request.", - "type": "object", - "properties": { - "citationThreshold": { - "description": "Optional. Only return claims with citation score larger than the threshold.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1CorroborateContentResponse": { - "id": "GoogleCloudAiplatformV1CorroborateContentResponse", - "description": "Response message for CorroborateContent.", - "type": "object", - "properties": { - "corroborationScore": { - "description": "Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence.", - "type": "number", - "format": "float" - }, - "claims": { - "description": "Claims that are extracted from the input content and facts that support the claims.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Claim" - } - } - } - }, - "GoogleCloudAiplatformV1Claim": { - "id": "GoogleCloudAiplatformV1Claim", - "description": "Claim that is extracted from the input text and facts that support it.", - "type": "object", - "properties": { - "startIndex": { - "description": "Index in the input text where the claim starts (inclusive).", - "type": "integer", - "format": "int32" - }, - "endIndex": { - "description": "Index in the input text where the claim ends (exclusive).", - "type": "integer", - "format": "int32" - }, - "factIndexes": { - "description": "Indexes of the facts supporting this claim.", - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "score": { - "description": "Confidence score of this corroboration.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata": { - "id": "GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata", - "description": "Metadata information for NotebookService.AssignNotebookRuntime.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1GenericOperationMetadata": { - "id": "GoogleCloudAiplatformV1GenericOperationMetadata", - "description": "Generic Metadata shared by all operations.", - "type": "object", - "properties": { - "partialFailures": { - "description": "Output only. Partial failures encountered. E.g. single files that couldn't be read. This field should never exceed 20 entries. Status details field will contain standard Google Cloud error details.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "GoogleRpcStatus" - } - }, - "createTime": { - "description": "Output only. Time when the operation was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. Time when the operation was updated for the last time. If the operation has finished (successfully or not), this is the finish time.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata": { - "id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata", - "description": "Runtime operation information for MigrationService.BatchMigrateResources.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "partialResults": { - "description": "Partial results that reflect the latest migration operation progress.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult" - } - } - } - }, - "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult": { - "id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult", - "description": "Represents a partial result in batch migration operation for one MigrateResourceRequest.", - "type": "object", - "properties": { - "error": { - "description": "The error result of the migration request in case of failure.", - "$ref": "GoogleRpcStatus" - }, - "model": { - "description": "Migrated model resource name.", - "type": "string" - }, - "dataset": { - "description": "Migrated dataset resource name.", - "type": "string" - }, - "request": { - "description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests.", - "$ref": "GoogleCloudAiplatformV1MigrateResourceRequest" - } - } - }, - "GoogleCloudAiplatformV1BatchMigrateResourcesResponse": { - "id": "GoogleCloudAiplatformV1BatchMigrateResourcesResponse", - "description": "Response message for MigrationService.BatchMigrateResources.", - "type": "object", - "properties": { - "migrateResourceResponses": { - "description": "Successfully migrated resources.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1MigrateResourceResponse" - } - } - } - }, - "GoogleCloudAiplatformV1MigrateResourceResponse": { - "id": "GoogleCloudAiplatformV1MigrateResourceResponse", - "description": "Describes a successfully migrated resource.", - "type": "object", - "properties": { - "dataset": { - "description": "Migrated Dataset's resource name.", - "type": "string" - }, - "model": { - "description": "Migrated Model's resource name.", - "type": "string" - }, - "migratableResource": { - "description": "Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or datalabeling.googleapis.com.", - "$ref": "GoogleCloudAiplatformV1MigratableResource" - } - } - }, - "GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata": { - "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata", - "description": "Details of operations that batch reads Feature values.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore batch read Features values.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1BatchReadFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesResponse", - "description": "Response message for FeaturestoreService.BatchReadFeatureValues.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata": { - "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata", - "description": "This message will be placed in the metadata field of a google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for suggesting Trials.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "study": { - "description": "The name of the Study that the Trial belongs to.", - "type": "string" - }, - "trial": { - "description": "The Trial name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse": { - "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse", - "description": "Response message for VizierService.CheckTrialEarlyStoppingState.", - "type": "object", - "properties": { - "shouldStop": { - "description": "True if the Trial should stop.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata", - "description": "Runtime operation information for CreateDeploymentResourcePool method.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateFeatureOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateFeatureOperationMetadata", - "description": "Details of operations that perform create Feature.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Feature.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata", - "description": "Details of operations that perform create Featurestore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata", - "description": "Details of operations that perform create FeatureGroup.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureGroup.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata", - "description": "Details of operations that perform create FeatureGroup.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Feature.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata", - "description": "Details of operations that perform create FeatureOnlineStore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata", - "description": "Details of operations that perform create FeatureView.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureView Create.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata", - "description": "Details of operations that perform update FeatureOnlineStore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureOnlineStore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata", - "description": "Details of operations that perform update FeatureView.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureView Update.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateEndpointOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateEndpointOperationMetadata", - "description": "Runtime operation information for EndpointService.CreateEndpoint.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "deploymentStage": { - "description": "Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The deployment is initializing and setting up the environment.", - "The deployment is preparing the model assets.", - "The deployment is creating the underlying serving cluster.", - "The deployment is adding nodes to the serving cluster.", - "The deployment is getting the container image for the model server.", - "The deployment is starting the model server.", - "The deployment is performing finalization steps.", - "The deployment has terminated." - ], - "enum": [ - "DEPLOYMENT_STAGE_UNSPECIFIED", - "STARTING_DEPLOYMENT", - "PREPARING_MODEL", - "CREATING_SERVING_CLUSTER", - "ADDING_NODES_TO_CLUSTER", - "GETTING_CONTAINER_IMAGE", - "STARTING_MODEL_SERVER", - "FINISHING_UP", - "DEPLOYMENT_TERMINATED" - ] - } - } - }, - "GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata", - "description": "Details of operations that perform MetadataService.CreateMetadataStore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for creating a MetadataStore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata", - "description": "Metadata information for NotebookService.CreateNotebookExecutionJob.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata", - "description": "Metadata information for NotebookService.CreateNotebookRuntimeTemplate.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata", - "description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateIndexOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateIndexOperationMetadata", - "description": "Runtime operation information for IndexService.CreateIndex.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "nearestNeighborSearchOperationMetadata": { - "description": "The operation metadata with regard to Matching Engine Index operation.", - "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata": { - "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata", - "description": "Runtime operation metadata with regard to Matching Engine Index.", - "type": "object", - "properties": { - "contentValidationStats": { - "description": "The validation stats of the content (per file) to be inserted or updated on the Matching Engine Index resource. Populated if contentsDeltaUri is provided as part of Index.metadata. Please note that, currently for those files that are broken or has unsupported file format, we will not have the stats for those files.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats" - } - }, - "dataBytesCount": { - "description": "The ingested data size in bytes.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats": { - "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats", - "type": "object", - "properties": { - "sourceGcsUri": { - "description": "Cloud Storage URI pointing to the original file in user's bucket.", - "type": "string" - }, - "validRecordCount": { - "description": "Number of records in this file that were successfully processed.", - "type": "string", - "format": "int64" - }, - "invalidRecordCount": { - "description": "Number of records in this file we skipped due to validate errors.", - "type": "string", - "format": "int64" - }, - "partialErrors": { - "description": "The detail information of the partial failures encountered for those invalid records that couldn't be parsed. Up to 50 partial errors will be reported.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError" - } - }, - "validSparseRecordCount": { - "description": "Number of sparse records in this file that were successfully processed.", - "type": "string", - "format": "int64" - }, - "invalidSparseRecordCount": { - "description": "Number of sparse records in this file we skipped due to validate errors.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError": { - "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError", - "type": "object", - "properties": { - "errorType": { - "description": "The error type of this record.", - "type": "string", - "enumDescriptions": [ - "Default, shall not be used.", - "The record is empty.", - "Invalid json format.", - "Invalid csv format.", - "Invalid avro format.", - "The embedding id is not valid.", - "The size of the dense embedding vectors does not match with the specified dimension.", - "The `namespace` field is missing.", - "Generic catch-all error. Only used for validation failure where the root cause cannot be easily retrieved programmatically.", - "There are multiple restricts with the same `namespace` value.", - "Numeric restrict has operator specified in datapoint.", - "Numeric restrict has multiple values specified.", - "Numeric restrict has invalid numeric value specified.", - "File is not in UTF_8 format.", - "Error parsing sparse dimensions field.", - "Token restrict value is invalid.", - "Invalid sparse embedding.", - "Invalid dense embedding.", - "Invalid embedding metadata.", - "Embedding metadata exceeds size limit." - ], - "enum": [ - "ERROR_TYPE_UNSPECIFIED", - "EMPTY_LINE", - "INVALID_JSON_SYNTAX", - "INVALID_CSV_SYNTAX", - "INVALID_AVRO_SYNTAX", - "INVALID_EMBEDDING_ID", - "EMBEDDING_SIZE_MISMATCH", - "NAMESPACE_MISSING", - "PARSING_ERROR", - "DUPLICATE_NAMESPACE", - "OP_IN_DATAPOINT", - "MULTIPLE_VALUES", - "INVALID_NUMERIC_VALUE", - "INVALID_ENCODING", - "INVALID_SPARSE_DIMENSIONS", - "INVALID_TOKEN_VALUE", - "INVALID_SPARSE_EMBEDDING", - "INVALID_EMBEDDING", - "INVALID_EMBEDDING_METADATA", - "EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT" - ] - }, - "errorMessage": { - "description": "A human-readable message that is shown to the user to help them fix the error. Note that this message may change from time to time, your code should check against error_type as the source of truth.", - "type": "string" - }, - "sourceGcsUri": { - "description": "Cloud Storage URI pointing to the original file in user's bucket.", - "type": "string" - }, - "embeddingId": { - "description": "Empty if the embedding id is failed to parse.", - "type": "string" - }, - "rawRecord": { - "description": "The original content of this record.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata", - "description": "Runtime operation information for IndexEndpointService.CreateIndexEndpoint.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata", - "description": "Details of operations that perform create EntityType.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for EntityType.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateTensorboardOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateTensorboardOperationMetadata", - "description": "Details of operations that perform create Tensorboard.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Tensorboard.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata": { - "id": "GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata", - "description": "Details of operations that perform batch create Features.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Feature.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1BatchCreateFeaturesResponse": { - "id": "GoogleCloudAiplatformV1BatchCreateFeaturesResponse", - "description": "Response message for FeaturestoreService.BatchCreateFeatures.", - "type": "object", - "properties": { - "features": { - "description": "The Features created.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Feature" - } - } - } - }, - "GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata", - "description": "Details of operations that perform create PersistentResource.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for PersistentResource.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "Progress Message for Create LRO", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata", - "description": "Details of operations that delete Feature values.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore delete Features values.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponse", - "description": "Response message for FeaturestoreService.DeleteFeatureValues.", - "type": "object", - "properties": { - "selectEntity": { - "description": "Response for request specifying the entities to delete", - "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity" - }, - "selectTimeRangeAndFeature": { - "description": "Response for request specifying time range and feature", - "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity", - "description": "Response message if the request uses the SelectEntity option.", - "type": "object", - "properties": { - "offlineStorageDeletedEntityRowCount": { - "description": "The count of deleted entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage.", - "type": "string", - "format": "int64" - }, - "onlineStorageDeletedEntityCount": { - "description": "The count of deleted entities in the online storage. Each entity ID corresponds to one entity.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature": { - "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", - "description": "Response message if the request uses the SelectTimeRangeAndFeature option.", - "type": "object", - "properties": { - "impactedFeatureCount": { - "description": "The count of the features or columns impacted. This is the same as the feature count in the request.", - "type": "string", - "format": "int64" - }, - "offlineStorageModifiedEntityRowCount": { - "description": "The count of modified entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage. Within each row, only the features specified in the request are deleted.", - "type": "string", - "format": "int64" - }, - "onlineStorageModifiedEntityCount": { - "description": "The count of modified entities in the online storage. Each entity ID corresponds to one entity. Within each entity, only the features specified in the request are deleted.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1DeleteOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeleteOperationMetadata", - "description": "Details of operations that perform deletes of any entities.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata", - "description": "Details of operations that perform MetadataService.DeleteMetadataStore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for deleting a MetadataStore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1DeployModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeployModelOperationMetadata", - "description": "Runtime operation information for EndpointService.DeployModel.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "deploymentStage": { - "description": "Output only. The deployment stage of the model.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The deployment is initializing and setting up the environment.", - "The deployment is preparing the model assets.", - "The deployment is creating the underlying serving cluster.", - "The deployment is adding nodes to the serving cluster.", - "The deployment is getting the container image for the model server.", - "The deployment is starting the model server.", - "The deployment is performing finalization steps.", - "The deployment has terminated." - ], - "enum": [ - "DEPLOYMENT_STAGE_UNSPECIFIED", - "STARTING_DEPLOYMENT", - "PREPARING_MODEL", - "CREATING_SERVING_CLUSTER", - "ADDING_NODES_TO_CLUSTER", - "GETTING_CONTAINER_IMAGE", - "STARTING_MODEL_SERVER", - "FINISHING_UP", - "DEPLOYMENT_TERMINATED" - ] - } - } - }, - "GoogleCloudAiplatformV1DeployModelResponse": { - "id": "GoogleCloudAiplatformV1DeployModelResponse", - "description": "Response message for EndpointService.DeployModel.", - "type": "object", - "properties": { - "deployedModel": { - "description": "The DeployedModel that had been deployed in the Endpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedModel" - } - } - }, - "GoogleCloudAiplatformV1DeployIndexOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeployIndexOperationMetadata", - "description": "Runtime operation information for IndexEndpointService.DeployIndex.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "deployedIndexId": { - "description": "The unique index id specified by user", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeployIndexResponse": { - "id": "GoogleCloudAiplatformV1DeployIndexResponse", - "description": "Response message for IndexEndpointService.DeployIndex.", - "type": "object", - "properties": { - "deployedIndex": { - "description": "The DeployedIndex that had been deployed in the IndexEndpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedIndex" - } - } - }, - "GoogleCloudAiplatformV1ExportDataOperationMetadata": { - "id": "GoogleCloudAiplatformV1ExportDataOperationMetadata", - "description": "Runtime operation information for DatasetService.ExportData.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "gcsOutputDirectory": { - "description": "A Google Cloud Storage directory which path ends with '/'. The exported data is stored in the directory.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExportDataResponse": { - "id": "GoogleCloudAiplatformV1ExportDataResponse", - "description": "Response message for DatasetService.ExportData.", - "type": "object", - "properties": { - "exportedFiles": { - "description": "All of the files that are exported in this export operation. For custom code training export, only three (training, validation and test) Cloud Storage paths in wildcard format are populated (for example, gs://.../training-*).", - "type": "array", - "items": { - "type": "string" - } - }, - "dataStats": { - "description": "Only present for custom code training export use case. Records data stats, i.e., train/validation/test item/annotation counts calculated during the export operation.", - "$ref": "GoogleCloudAiplatformV1ModelDataStats" - } - } - }, - "GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata": { - "id": "GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata", - "description": "Details of operations that exports Features values.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore export Feature values.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1ExportFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1ExportFeatureValuesResponse", - "description": "Response message for FeaturestoreService.ExportFeatureValues.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ExportModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1ExportModelOperationMetadata", - "description": "Details of ModelService.ExportModel operation.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "outputInfo": { - "description": "Output only. Information further describing the output of this Model export.", - "readOnly": true, - "$ref": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo" - } - } - }, - "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo": { - "id": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo", - "description": "Further describes the output of the ExportModel. Supplements ExportModelRequest.OutputConfig.", - "type": "object", - "properties": { - "artifactOutputUri": { - "description": "Output only. If the Model artifact is being exported to Google Cloud Storage this is the full path of the directory created, into which the Model files are being written to.", - "readOnly": true, - "type": "string" - }, - "imageOutputUri": { - "description": "Output only. If the Model image is being exported to Google Container Registry or Artifact Registry this is the full path of the image created.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ExportModelResponse": { - "id": "GoogleCloudAiplatformV1ExportModelResponse", - "description": "Response message of ModelService.ExportModel operation.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1GenerateVideoResponse": { - "id": "GoogleCloudAiplatformV1GenerateVideoResponse", - "description": "Generate video response.", - "type": "object", - "properties": { - "generatedSamples": { - "description": "The cloud storage uris of the generated videos.", - "deprecated": true, - "type": "array", - "items": { - "type": "string" - } - }, - "raiMediaFilteredCount": { - "description": "Returns if any videos were filtered due to RAI policies.", - "type": "integer", - "format": "int32" - }, - "raiMediaFilteredReasons": { - "description": "Returns rai failure reasons if any.", - "type": "array", - "items": { - "type": "string" - } - }, - "videos": { - "description": "List of video bytes or Cloud Storage URIs of the generated videos.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1GenerateVideoResponseVideo" - } - } - } - }, - "GoogleCloudAiplatformV1GenerateVideoResponseVideo": { - "id": "GoogleCloudAiplatformV1GenerateVideoResponseVideo", - "description": "A generated video.", - "type": "object", - "properties": { - "gcsUri": { - "description": "Cloud Storage URI where the generated video is written.", - "type": "string" - }, - "bytesBase64Encoded": { - "description": "Base64 encoded bytes string representing the video.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the video. - video/mp4", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1ImportDataOperationMetadata": { - "id": "GoogleCloudAiplatformV1ImportDataOperationMetadata", - "description": "Runtime operation information for DatasetService.ImportData.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1ImportDataResponse": { - "id": "GoogleCloudAiplatformV1ImportDataResponse", - "description": "Response message for DatasetService.ImportData.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata": { - "id": "GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata", - "description": "Details of operations that perform import Feature values.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore import Feature values.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "importedEntityCount": { - "description": "Number of entities that have been imported by the operation.", - "type": "string", - "format": "int64" - }, - "importedFeatureValueCount": { - "description": "Number of Feature values that have been imported by the operation.", - "type": "string", - "format": "int64" - }, - "sourceUris": { - "description": "The source URI from where Feature values are imported.", - "type": "array", - "items": { - "type": "string" - } - }, - "invalidRowCount": { - "description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", - "type": "string", - "format": "int64" - }, - "timestampOutsideRetentionRowsCount": { - "description": "The number rows that weren't ingested due to having timestamps outside the retention boundary.", - "type": "string", - "format": "int64" - }, - "blockingOperationIds": { - "description": "List of ImportFeatureValues operations running under a single EntityType that are blocking this operation.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - } - } - }, - "GoogleCloudAiplatformV1ImportFeatureValuesResponse": { - "id": "GoogleCloudAiplatformV1ImportFeatureValuesResponse", - "description": "Response message for FeaturestoreService.ImportFeatureValues.", - "type": "object", - "properties": { - "importedEntityCount": { - "description": "Number of entities that have been imported by the operation.", - "type": "string", - "format": "int64" - }, - "importedFeatureValueCount": { - "description": "Number of Feature values that have been imported by the operation.", - "type": "string", - "format": "int64" - }, - "invalidRowCount": { - "description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", - "type": "string", - "format": "int64" - }, - "timestampOutsideRetentionRowsCount": { - "description": "The number rows that weren't ingested due to having feature timestamps outside the retention boundary.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata": { - "id": "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata", - "description": "Runtime operation information for IndexEndpointService.MutateDeployedIndex.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "deployedIndexId": { - "description": "The unique index id specified by user", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1MutateDeployedIndexResponse": { - "id": "GoogleCloudAiplatformV1MutateDeployedIndexResponse", - "description": "Response message for IndexEndpointService.MutateDeployedIndex.", - "type": "object", - "properties": { - "deployedIndex": { - "description": "The DeployedIndex that had been updated in the IndexEndpoint.", - "$ref": "GoogleCloudAiplatformV1DeployedIndex" - } - } - }, - "GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata", - "description": "Runtime operation information for EndpointService.MutateDeployedModel.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1MutateDeployedModelResponse": { - "id": "GoogleCloudAiplatformV1MutateDeployedModelResponse", - "description": "Response message for EndpointService.MutateDeployedModel.", - "type": "object", - "properties": { - "deployedModel": { - "description": "The DeployedModel that's being mutated.", - "$ref": "GoogleCloudAiplatformV1DeployedModel" - } - } - }, - "GoogleCloudAiplatformV1PurgeArtifactsResponse": { - "id": "GoogleCloudAiplatformV1PurgeArtifactsResponse", - "description": "Response message for MetadataService.PurgeArtifacts.", - "type": "object", - "properties": { - "purgeCount": { - "description": "The number of Artifacts that this request deleted (or, if `force` is false, the number of Artifacts that will be deleted). This can be an estimate.", - "type": "string", - "format": "int64" - }, - "purgeSample": { - "description": "A sample of the Artifact names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PurgeArtifactsMetadata": { - "id": "GoogleCloudAiplatformV1PurgeArtifactsMetadata", - "description": "Details of operations that perform MetadataService.PurgeArtifacts.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for purging Artifacts.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1PurgeContextsMetadata": { - "id": "GoogleCloudAiplatformV1PurgeContextsMetadata", - "description": "Details of operations that perform MetadataService.PurgeContexts.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for purging Contexts.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1PurgeContextsResponse": { - "id": "GoogleCloudAiplatformV1PurgeContextsResponse", - "description": "Response message for MetadataService.PurgeContexts.", - "type": "object", - "properties": { - "purgeCount": { - "description": "The number of Contexts that this request deleted (or, if `force` is false, the number of Contexts that will be deleted). This can be an estimate.", - "type": "string", - "format": "int64" - }, - "purgeSample": { - "description": "A sample of the Context names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PurgeExecutionsResponse": { - "id": "GoogleCloudAiplatformV1PurgeExecutionsResponse", - "description": "Response message for MetadataService.PurgeExecutions.", - "type": "object", - "properties": { - "purgeCount": { - "description": "The number of Executions that this request deleted (or, if `force` is false, the number of Executions that will be deleted). This can be an estimate.", - "type": "string", - "format": "int64" - }, - "purgeSample": { - "description": "A sample of the Execution names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1PurgeExecutionsMetadata": { - "id": "GoogleCloudAiplatformV1PurgeExecutionsMetadata", - "description": "Details of operations that perform MetadataService.PurgeExecutions.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for purging Executions.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata": { - "id": "GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata", - "description": "Details of operations that perform reboot PersistentResource.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for PersistentResource.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "Progress Message for Reboot LRO", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata": { - "id": "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata", - "description": "Metadata information for NotebookService.StartNotebookRuntime.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SuggestTrialsMetadata": { - "id": "GoogleCloudAiplatformV1SuggestTrialsMetadata", - "description": "Details of operations that perform Trials suggestion.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for suggesting Trials.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "clientId": { - "description": "The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SuggestTrialsResponse": { - "id": "GoogleCloudAiplatformV1SuggestTrialsResponse", - "description": "Response message for VizierService.SuggestTrials.", - "type": "object", - "properties": { - "trials": { - "description": "A list of Trials.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Trial" - } - }, - "studyState": { - "description": "The state of the Study.", - "type": "string", - "enumDescriptions": [ - "The study state is unspecified.", - "The study is active.", - "The study is stopped due to an internal error.", - "The study is done when the service exhausts the parameter search space or max_trial_count is reached." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "INACTIVE", - "COMPLETED" - ] - }, - "startTime": { - "description": "The time at which the operation was started.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "The time at which operation processing completed.", - "type": "string", - "format": "google-datetime" - } - } - }, - "GoogleCloudAiplatformV1UndeployModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1UndeployModelOperationMetadata", - "description": "Runtime operation information for EndpointService.UndeployModel.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UndeployModelResponse": { - "id": "GoogleCloudAiplatformV1UndeployModelResponse", - "description": "Response message for EndpointService.UndeployModel.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1UndeployIndexOperationMetadata": { - "id": "GoogleCloudAiplatformV1UndeployIndexOperationMetadata", - "description": "Runtime operation information for IndexEndpointService.UndeployIndex.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UndeployIndexResponse": { - "id": "GoogleCloudAiplatformV1UndeployIndexResponse", - "description": "Response message for IndexEndpointService.UndeployIndex.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata", - "description": "Runtime operation information for UpdateDeploymentResourcePool method.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata", - "description": "Runtime operation information for ModelService.UpdateExplanationDataset.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateExplanationDatasetResponse": { - "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetResponse", - "description": "Response message of ModelService.UpdateExplanationDataset operation.", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata", - "description": "Runtime operation information for JobService.UpdateModelDeploymentMonitoringJob.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata", - "description": "Details of operations that perform update FeatureGroup.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for FeatureGroup.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateFeatureOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateFeatureOperationMetadata", - "description": "Details of operations that perform update Feature.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Feature Update.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata", - "description": "Details of operations that perform update Featurestore.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Featurestore.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata", - "description": "Details of operations that perform update PersistentResource.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for PersistentResource.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "Progress Message for Update LRO", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata", - "description": "Runtime operation metadata for SpecialistPoolService.UpdateSpecialistPool.", - "type": "object", - "properties": { - "specialistPool": { - "description": "Output only. The name of the SpecialistPool to which the specialists are being added. Format: `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}`", - "readOnly": true, - "type": "string" - }, - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata", - "description": "Details of operations that perform update Tensorboard.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "Operation metadata for Tensorboard.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpdateIndexOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpdateIndexOperationMetadata", - "description": "Runtime operation information for IndexService.UpdateIndex.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "nearestNeighborSearchOperationMetadata": { - "description": "The operation metadata with regard to Matching Engine Index operation.", - "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata": { - "id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata", - "description": "Metadata information for NotebookService.UpgradeNotebookRuntime.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "progressMessage": { - "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1UploadModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1UploadModelOperationMetadata", - "description": "Details of ModelService.UploadModel operation.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1UploadModelResponse": { - "id": "GoogleCloudAiplatformV1UploadModelResponse", - "description": "Response message of ModelService.UploadModel operation.", - "type": "object", - "properties": { - "model": { - "description": "The name of the uploaded Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", - "type": "string" - }, - "modelVersionId": { - "description": "Output only. The version ID of the model that is uploaded.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CopyModelOperationMetadata": { - "id": "GoogleCloudAiplatformV1CopyModelOperationMetadata", - "description": "Details of ModelService.CopyModel operation.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CopyModelResponse": { - "id": "GoogleCloudAiplatformV1CopyModelResponse", - "description": "Response message of ModelService.CopyModel operation.", - "type": "object", - "properties": { - "model": { - "description": "The name of the copied Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", - "type": "string" - }, - "modelVersionId": { - "description": "Output only. The version ID of the model that is copied.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics", - "description": "Bounding box matching model metrics for a single intersection-over-union threshold and multiple label match confidence thresholds.", - "type": "object", - "properties": { - "iouThreshold": { - "description": "The intersection-over-union threshold value used to compute this metrics entry.", - "type": "number", - "format": "float" - }, - "meanAveragePrecision": { - "description": "The mean average precision, most often close to `auPrc`.", - "type": "number", - "format": "float" - }, - "confidenceMetrics": { - "description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics", - "description": "Metrics for a single confidence threshold.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The confidence threshold value used to compute the metrics.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Recall under the given confidence threshold.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Precision under the given confidence threshold.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "The harmonic mean of recall and precision.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics", - "description": "Metrics for classification evaluation results.", - "type": "object", - "properties": { - "auPrc": { - "description": "The Area Under Precision-Recall Curve metric. Micro-averaged for the overall evaluation.", - "type": "number", - "format": "float" - }, - "auRoc": { - "description": "The Area Under Receiver Operating Characteristic curve metric. Micro-averaged for the overall evaluation.", - "type": "number", - "format": "float" - }, - "logLoss": { - "description": "The Log Loss metric.", - "type": "number", - "format": "float" - }, - "confidenceMetrics": { - "description": "Metrics for each `confidenceThreshold` in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` = INT32_MAX_VALUE. ROC and precision-recall curves, and other aggregated metrics are derived from them. The confidence metrics entries may also be supplied for additional values of `positionThreshold`, but from these no aggregated metrics are computed.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics" - } - }, - "confusionMatrix": { - "description": "Confusion matrix of the evaluation.", - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "Metrics are computed with an assumption that the Model always returns at most this many predictions (ordered by their score, descendingly), but they all still need to meet the `confidenceThreshold`.", - "type": "integer", - "format": "int32" - }, - "recall": { - "description": "Recall (True Positive Rate) for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Precision for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "falsePositiveRate": { - "description": "False Positive Rate for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "The harmonic mean of recall and precision. For summary metrics, it computes the micro-averaged F1 score.", - "type": "number", - "format": "float" - }, - "f1ScoreMicro": { - "description": "Micro-averaged F1 Score.", - "type": "number", - "format": "float" - }, - "f1ScoreMacro": { - "description": "Macro-averaged F1 Score.", - "type": "number", - "format": "float" - }, - "recallAt1": { - "description": "The Recall (True Positive Rate) when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", - "type": "number", - "format": "float" - }, - "precisionAt1": { - "description": "The precision when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", - "type": "number", - "format": "float" - }, - "falsePositiveRateAt1": { - "description": "The False Positive Rate when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", - "type": "number", - "format": "float" - }, - "f1ScoreAt1": { - "description": "The harmonic mean of recallAt1 and precisionAt1.", - "type": "number", - "format": "float" - }, - "truePositiveCount": { - "description": "The number of Model created labels that match a ground truth label.", - "type": "string", - "format": "int64" - }, - "falsePositiveCount": { - "description": "The number of Model created labels that do not match a ground truth label.", - "type": "string", - "format": "int64" - }, - "falseNegativeCount": { - "description": "The number of ground truth labels that are not matched by a Model created label.", - "type": "string", - "format": "int64" - }, - "trueNegativeCount": { - "description": "The number of labels that were not created by the Model, but if they would, they would not match a ground truth label.", - "type": "string", - "format": "int64" - }, - "confusionMatrix": { - "description": "Confusion matrix of the evaluation for this confidence_threshold.", - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", - "type": "object", - "properties": { - "annotationSpecs": { - "description": "AnnotationSpecs used in the confusion matrix. For AutoML Text Extraction, a special negative AnnotationSpec with empty `id` and `displayName` of \"NULL\" will be added as the last element.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef" - } - }, - "rows": { - "description": "Rows in the confusion matrix. The number of rows is equal to the size of `annotationSpecs`. `rowsi` is the number of DataItems that have ground truth of the `annotationSpecs[i]` and are predicted as `annotationSpecs[j]` by the Model being evaluated. For Text Extraction, when `annotationSpecs[i]` is the last element in `annotationSpecs`, i.e. the special negative AnnotationSpec, `rowsi` is the number of predicted entities of `annoatationSpec[j]` that are not labeled as any of the ground truth AnnotationSpec. When annotationSpecs[j] is the special negative AnnotationSpec, `rowsi` is the number of entities have ground truth of `annotationSpec[i]` that are not predicted as an entity by the Model. The value of the last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is the special negative AnnotationSpec, is always 0.", - "type": "array", - "items": { - "type": "array", - "items": { - "type": "any" - } - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef", - "type": "object", - "properties": { - "id": { - "description": "ID of the AnnotationSpec.", - "type": "string" - }, - "displayName": { - "description": "Display name of the AnnotationSpec.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics", - "description": "Metrics for forecasting evaluation results.", - "type": "object", - "properties": { - "rootMeanSquaredError": { - "description": "Root Mean Squared Error (RMSE).", - "type": "number", - "format": "float" - }, - "meanAbsoluteError": { - "description": "Mean Absolute Error (MAE).", - "type": "number", - "format": "float" - }, - "meanAbsolutePercentageError": { - "description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", - "type": "number", - "format": "float" - }, - "rSquared": { - "description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", - "type": "number", - "format": "float" - }, - "rootMeanSquaredLogError": { - "description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", - "type": "number", - "format": "float" - }, - "quantileMetrics": { - "description": "The quantile metrics entries for each quantile.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry" - } - }, - "weightedAbsolutePercentageError": { - "description": "Weighted Absolute Percentage Error. Does not use weights, this is just what the metric is called. Undefined if actual values sum to zero. Will be very large if actual values sum to a very small number.", - "type": "number", - "format": "float" - }, - "rootMeanSquaredPercentageError": { - "description": "Root Mean Square Percentage Error. Square root of MSPE. Undefined/imaginary when MSPE is negative.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry", - "description": "Entry for the Quantiles loss type optimization objective.", - "type": "object", - "properties": { - "quantile": { - "description": "The quantile for this entry.", - "type": "number", - "format": "double" - }, - "scaledPinballLoss": { - "description": "The scaled pinball loss of this quantile.", - "type": "number", - "format": "float" - }, - "observedQuantile": { - "description": "This is a custom metric that calculates the percentage of true values that were less than the predicted value for that quantile. Only populated when optimization_objective is minimize-quantile-loss and each entry corresponds to an entry in quantiles The percent value can be used to compare with the quantile value, which is the target value.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics", - "type": "object", - "properties": { - "bleu": { - "description": "BLEU (bilingual evaluation understudy) scores based on sacrebleu implementation.", - "type": "number", - "format": "float" - }, - "rougeLSum": { - "description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics", - "description": "Metrics for image object detection evaluation results.", - "type": "object", - "properties": { - "evaluatedBoundingBoxCount": { - "description": "The total number of bounding boxes (i.e. summed over all images) the ground truth used to create this evaluation had.", - "type": "integer", - "format": "int32" - }, - "boundingBoxMetrics": { - "description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" - } - }, - "boundingBoxMeanAveragePrecision": { - "description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetricsEntries`.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics", - "description": "Metrics for image segmentation evaluation results.", - "type": "object", - "properties": { - "confidenceMetricsEntries": { - "description": "Metrics for each confidenceThreshold in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve can be derived from it.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "Metrics are computed with an assumption that the model never returns predictions with score lower than this value.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Recall (True Positive Rate) for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Precision for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "diceScoreCoefficient": { - "description": "DSC or the F1 score, The harmonic mean of recall and precision.", - "type": "number", - "format": "float" - }, - "iouScore": { - "description": "The intersection-over-union score. The measure of overlap of the annotation's category mask with ground truth category mask on the DataItem.", - "type": "number", - "format": "float" - }, - "confusionMatrix": { - "description": "Confusion matrix for the given confidence threshold.", - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics", - "type": "object", - "properties": { - "exactMatch": { - "description": "The rate at which the input predicted strings exactly match their references.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics", - "description": "Metrics for regression evaluation results.", - "type": "object", - "properties": { - "rootMeanSquaredError": { - "description": "Root Mean Squared Error (RMSE).", - "type": "number", - "format": "float" - }, - "meanAbsoluteError": { - "description": "Mean Absolute Error (MAE).", - "type": "number", - "format": "float" - }, - "meanAbsolutePercentageError": { - "description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", - "type": "number", - "format": "float" - }, - "rSquared": { - "description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", - "type": "number", - "format": "float" - }, - "rootMeanSquaredLogError": { - "description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics", - "type": "object", - "properties": { - "rougeLSum": { - "description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics", - "description": "Metrics for text extraction evaluation results.", - "type": "object", - "properties": { - "confidenceMetrics": { - "description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from them.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics" - } - }, - "confusionMatrix": { - "description": "Confusion matrix of the evaluation. Only set for Models where number of AnnotationSpecs is no more than 10. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Recall (True Positive Rate) for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Precision for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "The harmonic mean of recall and precision.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics", - "description": "Model evaluation metrics for text sentiment problems.", - "type": "object", - "properties": { - "precision": { - "description": "Precision.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Recall.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "The harmonic mean of recall and precision.", - "type": "number", - "format": "float" - }, - "meanAbsoluteError": { - "description": "Mean absolute error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "type": "number", - "format": "float" - }, - "meanSquaredError": { - "description": "Mean squared error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "type": "number", - "format": "float" - }, - "linearKappa": { - "description": "Linear weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "type": "number", - "format": "float" - }, - "quadraticKappa": { - "description": "Quadratic weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "type": "number", - "format": "float" - }, - "confusionMatrix": { - "description": "Confusion matrix of the evaluation. Only set for ModelEvaluations, not for ModelEvaluationSlices.", - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics", - "description": "Model evaluation metrics for video action recognition.", - "type": "object", - "properties": { - "evaluatedActionCount": { - "description": "The number of ground truth actions used to create this evaluation.", - "type": "integer", - "format": "int32" - }, - "videoActionMetrics": { - "description": "The metric entries for precision window lengths: 1s,2s,3s.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics", - "description": "The Evaluation metrics given a specific precision_window_length.", - "type": "object", - "properties": { - "precisionWindowLength": { - "description": "This VideoActionMetrics is calculated based on this prediction window length. If the predicted action's timestamp is inside the time window whose center is the ground truth action's timestamp with this specific length, the prediction result is treated as a true positive.", - "type": "string", - "format": "google-duration" - }, - "meanAveragePrecision": { - "description": "The mean average precision.", - "type": "number", - "format": "float" - }, - "confidenceMetrics": { - "description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics", - "description": "Metrics for a single confidence threshold.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "Output only. The confidence threshold value used to compute the metrics.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Output only. Recall for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Output only. Precision for the given confidence threshold.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "Output only. The harmonic mean of recall and precision.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics", - "description": "Model evaluation metrics for video object tracking problems. Evaluates prediction quality of both labeled bounding boxes and labeled tracks (i.e. series of bounding boxes sharing same label and instance ID).", - "type": "object", - "properties": { - "evaluatedFrameCount": { - "description": "UNIMPLEMENTED. The number of video frames used to create this evaluation.", - "type": "integer", - "format": "int32" - }, - "evaluatedBoundingBoxCount": { - "description": "UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over all frames) the ground truth used to create this evaluation had.", - "type": "integer", - "format": "int32" - }, - "evaluatedTrackCount": { - "description": "UNIMPLEMENTED. The total number of tracks (i.e. as seen across all frames) the ground truth used to create this evaluation had.", - "type": "integer", - "format": "int32" - }, - "boundingBoxMetrics": { - "description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" - } - }, - "trackMetrics": { - "description": "UNIMPLEMENTED. The tracks match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics" - } - }, - "boundingBoxMeanAveragePrecision": { - "description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetrics`.", - "type": "number", - "format": "float" - }, - "trackMeanAveragePrecision": { - "description": "UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the `meanAveragePrecision` averaged over all `trackMetrics`.", - "type": "number", - "format": "float" - }, - "trackMeanBoundingBoxIou": { - "description": "UNIMPLEMENTED. The single metric for tracks bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all `trackMetrics`.", - "type": "number", - "format": "float" - }, - "trackMeanMismatchRate": { - "description": "UNIMPLEMENTED. The single metric for tracking consistency evaluation: the `meanMismatchRate` averaged over all `trackMetrics`.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics", - "description": "UNIMPLEMENTED. Track matching model metrics for a single track match threshold and multiple label match confidence thresholds.", - "type": "object", - "properties": { - "iouThreshold": { - "description": "The intersection-over-union threshold value between bounding boxes across frames used to compute this metric entry.", - "type": "number", - "format": "float" - }, - "meanTrackingAveragePrecision": { - "description": "The mean average precision over all confidence thresholds.", - "type": "number", - "format": "float" - }, - "meanBoundingBoxIou": { - "description": "The mean bounding box iou over all confidence thresholds.", - "type": "number", - "format": "float" - }, - "meanMismatchRate": { - "description": "The mean mismatch rate over all confidence thresholds.", - "type": "number", - "format": "float" - }, - "confidenceMetrics": { - "description": "Metrics for each label-match `confidenceThreshold` from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics", - "description": "Metrics for a single confidence threshold.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The confidence threshold value used to compute the metrics.", - "type": "number", - "format": "float" - }, - "trackingPrecision": { - "description": "Tracking precision.", - "type": "number", - "format": "float" - }, - "trackingRecall": { - "description": "Tracking recall.", - "type": "number", - "format": "float" - }, - "boundingBoxIou": { - "description": "Bounding box intersection-over-union precision. Measures how well the bounding boxes overlap between each other (e.g. complete overlap or just barely above iou_threshold).", - "type": "number", - "format": "float" - }, - "mismatchRate": { - "description": "Mismatch rate, which measures the tracking consistency, i.e. correctness of instance ID continuity.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics": { - "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics", - "description": "Metrics for general pairwise text generation evaluation results.", - "type": "object", - "properties": { - "modelWinRate": { - "description": "Percentage of time the autorater decided the model had the better response.", - "type": "number", - "format": "float" - }, - "baselineModelWinRate": { - "description": "Percentage of time the autorater decided the baseline model had the better response.", - "type": "number", - "format": "float" - }, - "humanPreferenceModelWinRate": { - "description": "Percentage of time humans decided the model had the better response.", - "type": "number", - "format": "float" - }, - "humanPreferenceBaselineModelWinRate": { - "description": "Percentage of time humans decided the baseline model had the better response.", - "type": "number", - "format": "float" - }, - "truePositiveCount": { - "description": "Number of examples where both the autorater and humans decided that the model had the better response.", - "type": "string", - "format": "int64" - }, - "falsePositiveCount": { - "description": "Number of examples where the autorater chose the model, but humans preferred the baseline model.", - "type": "string", - "format": "int64" - }, - "falseNegativeCount": { - "description": "Number of examples where the autorater chose the baseline model, but humans preferred the model.", - "type": "string", - "format": "int64" - }, - "trueNegativeCount": { - "description": "Number of examples where both the autorater and humans decided that the model had the worse response.", - "type": "string", - "format": "int64" - }, - "accuracy": { - "description": "Fraction of cases where the autorater agreed with the human raters.", - "type": "number", - "format": "float" - }, - "precision": { - "description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the autorater thought the model had a better response. True positive divided by all positive.", - "type": "number", - "format": "float" - }, - "recall": { - "description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the humans thought the model had a better response.", - "type": "number", - "format": "float" - }, - "f1Score": { - "description": "Harmonic mean of precision and recall.", - "type": "number", - "format": "float" - }, - "cohensKappa": { - "description": "A measurement of agreement between the autorater and human raters that takes the likelihood of random agreement into account.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance", - "description": "Prediction input format for Image Classification.", - "type": "object", - "properties": { - "content": { - "description": "The image bytes or Cloud Storage URI to make the prediction on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance", - "description": "Prediction input format for Image Object Detection.", - "type": "object", - "properties": { - "content": { - "description": "The image bytes or Cloud Storage URI to make the prediction on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance", - "description": "Prediction input format for Image Segmentation.", - "type": "object", - "properties": { - "content": { - "description": "The image bytes to make the predictions on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/png", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance", - "description": "Prediction input format for Text Classification.", - "type": "object", - "properties": { - "content": { - "description": "The text snippet to make the predictions on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance", - "description": "Prediction input format for Text Extraction.", - "type": "object", - "properties": { - "content": { - "description": "The text snippet to make the predictions on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", - "type": "string" - }, - "key": { - "description": "This field is only used for batch prediction. If a key is provided, the batch prediction result will by mapped to this key. If omitted, then the batch prediction result will contain the entire input instance. Vertex AI will not check if keys in the request are duplicates, so it is up to the caller to ensure the keys are unique.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance", - "description": "Prediction input format for Text Sentiment.", - "type": "object", - "properties": { - "content": { - "description": "The text snippet to make the predictions on.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance", - "description": "Prediction input format for Video Action Recognition.", - "type": "object", - "properties": { - "content": { - "description": "The Google Cloud Storage location of the video on which to perform the prediction.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", - "type": "string" - }, - "timeSegmentEnd": { - "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance", - "description": "Prediction input format for Video Classification.", - "type": "object", - "properties": { - "content": { - "description": "The Google Cloud Storage location of the video on which to perform the prediction.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", - "type": "string" - }, - "timeSegmentEnd": { - "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance": { - "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance", - "description": "Prediction input format for Video Object Tracking.", - "type": "object", - "properties": { - "content": { - "description": "The Google Cloud Storage location of the video on which to perform the prediction.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", - "type": "string" - }, - "timeSegmentEnd": { - "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams", - "description": "Prediction model parameters for Image Classification.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams", - "description": "Prediction model parameters for Image Object Detection.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "The Model only returns up to that many top, by confidence score, predictions per instance. Note that number of returned predictions is also limited by metadata's predictionsLimit. Default value is 10.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams", - "description": "Prediction model parameters for Image Segmentation.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "When the model predicts category of pixels of the image, it will only provide predictions for pixels that it is at least this much confident about. All other pixels will be classified as background. Default value is 0.5.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams", - "description": "Prediction model parameters for Video Action Recognition.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams", - "description": "Prediction model parameters for Video Classification.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10,000.", - "type": "integer", - "format": "int32" - }, - "segmentClassification": { - "description": "Set to true to request segment-level classification. Vertex AI returns labels and their confidence scores for the entire time segment of the video that user specified in the input instance. Default value is true", - "type": "boolean" - }, - "shotClassification": { - "description": "Set to true to request shot-level classification. Vertex AI determines the boundaries for each camera shot in the entire time segment of the video that user specified in the input instance. Vertex AI then returns labels and their confidence scores for each detected shot, along with the start and end time of the shot. WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", - "type": "boolean" - }, - "oneSecIntervalClassification": { - "description": "Set to true to request classification for a video at one-second intervals. Vertex AI returns labels and their confidence scores for each second of the entire time segment of the video that user specified in the input WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams", - "description": "Prediction model parameters for Video Object Tracking.", - "type": "object", - "properties": { - "confidenceThreshold": { - "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", - "type": "number", - "format": "float" - }, - "maxPredictions": { - "description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", - "type": "integer", - "format": "int32" - }, - "minBoundingBoxSize": { - "description": "Only bounding boxes with shortest edge at least that long as a relative value of video frame size are returned. Default value is 0.0.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult", - "description": "Prediction output format for Image and Text Classification.", - "type": "object", - "properties": { - "ids": { - "description": "The resource IDs of the AnnotationSpecs that had been identified.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "displayNames": { - "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", - "type": "array", - "items": { - "type": "string" - } - }, - "confidences": { - "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult", - "description": "Prediction output format for Image Object Detection.", - "type": "object", - "properties": { - "ids": { - "description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "displayNames": { - "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", - "type": "array", - "items": { - "type": "string" - } - }, - "confidences": { - "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "bboxes": { - "description": "Bounding boxes, i.e. the rectangles over the image, that pinpoint the found AnnotationSpecs. Given in order that matches the IDs. Each bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and `yMax`, which represent the extremal coordinates of the box. They are relative to the image size, and the point 0,0 is in the top left of the image.", - "type": "array", - "items": { - "type": "array", - "items": { - "type": "any" - } - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult", - "description": "Prediction output format for Image Segmentation.", - "type": "object", - "properties": { - "categoryMask": { - "description": "A PNG image where each pixel in the mask represents the category in which the pixel in the original image was predicted to belong to. The size of this image will be the same as the original image. The mapping between the AnntoationSpec and the color can be found in model's metadata. The model will choose the most likely category and if none of the categories reach the confidence threshold, the pixel will be marked as background.", - "type": "string" - }, - "confidenceMask": { - "description": "A one channel image which is encoded as an 8bit lossless PNG. The size of the image will be the same as the original image. For a specific pixel, darker color means less confidence in correctness of the cateogry in the categoryMask for the corresponding pixel. Black means no confidence and white means complete confidence.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult", - "description": "Prediction output format for Tabular Classification.", - "type": "object", - "properties": { - "classes": { - "description": "The name of the classes being classified, contains all possible values of the target column.", - "type": "array", - "items": { - "type": "string" - } - }, - "scores": { - "description": "The model's confidence in each class being correct, higher value means higher confidence. The N-th score corresponds to the N-th class in classes.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult", - "description": "Prediction output format for Tabular Regression.", - "type": "object", - "properties": { - "value": { - "description": "The regression value.", - "type": "number", - "format": "float" - }, - "lowerBound": { - "description": "The lower bound of the prediction interval.", - "type": "number", - "format": "float" - }, - "upperBound": { - "description": "The upper bound of the prediction interval.", - "type": "number", - "format": "float" - }, - "quantileValues": { - "description": "Quantile values.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "quantilePredictions": { - "description": "Quantile predictions, in 1-1 correspondence with quantile_values.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult", - "description": "Prediction output format for Text Extraction.", - "type": "object", - "properties": { - "ids": { - "description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "displayNames": { - "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", - "type": "array", - "items": { - "type": "string" - } - }, - "textSegmentStartOffsets": { - "description": "The start offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "textSegmentEndOffsets": { - "description": "The end offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", - "type": "array", - "items": { - "type": "string", - "format": "int64" - } - }, - "confidences": { - "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult", - "description": "Prediction output format for Text Sentiment", - "type": "object", - "properties": { - "sentiment": { - "description": "The integer sentiment labels between 0 (inclusive) and sentimentMax label (inclusive), while 0 maps to the least positive sentiment and sentimentMax maps to the most positive one. The higher the score is, the more positive the sentiment in the text snippet is. Note: sentimentMax is an integer value between 1 (inclusive) and 10 (inclusive).", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult", - "description": "Prediction output format for Time Series Forecasting.", - "type": "object", - "properties": { - "value": { - "description": "The regression value.", - "type": "number", - "format": "float" - }, - "quantileValues": { - "description": "Quantile values.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "quantilePredictions": { - "description": "Quantile predictions, in 1-1 correspondence with quantile_values.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "tftFeatureImportance": { - "description": "Only use these if TFt is enabled.", - "$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance", - "type": "object", - "properties": { - "contextWeights": { - "description": "TFT feature importance values. Each pair for {context/horizon/attribute} should have the same shape since the weight corresponds to the column names.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "contextColumns": { - "type": "array", - "items": { - "type": "string" - } - }, - "horizonWeights": { - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "horizonColumns": { - "type": "array", - "items": { - "type": "string" - } - }, - "attributeWeights": { - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "attributeColumns": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult", - "description": "Prediction output format for Video Action Recognition.", - "type": "object", - "properties": { - "id": { - "description": "The resource ID of the AnnotationSpec that had been identified.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that had been identified.", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", - "type": "string", - "format": "google-duration" - }, - "timeSegmentEnd": { - "description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", - "type": "string", - "format": "google-duration" - }, - "confidence": { - "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult", - "description": "Prediction output format for Video Classification.", - "type": "object", - "properties": { - "id": { - "description": "The resource ID of the AnnotationSpec that had been identified.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that had been identified.", - "type": "string" - }, - "type": { - "description": "The type of the prediction. The requested types can be configured via parameters. This will be one of - segment-classification - shot-classification - one-sec-interval-classification", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentStart' from the input instance, for other types it is the start of a shot or a 1 second interval respectively.", - "type": "string", - "format": "google-duration" - }, - "timeSegmentEnd": { - "description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentEnd' from the input instance, for other types it is the end of a shot or a 1 second interval respectively.", - "type": "string", - "format": "google-duration" - }, - "confidence": { - "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult", - "description": "Prediction output format for Video Object Tracking.", - "type": "object", - "properties": { - "id": { - "description": "The resource ID of the AnnotationSpec that had been identified.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that had been identified.", - "type": "string" - }, - "timeSegmentStart": { - "description": "The beginning, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", - "type": "string", - "format": "google-duration" - }, - "timeSegmentEnd": { - "description": "The end, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", - "type": "string", - "format": "google-duration" - }, - "confidence": { - "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", - "type": "number", - "format": "float" - }, - "frames": { - "description": "All of the frames of the video in which a single object instance has been detected. The bounding boxes in the frames identify the same object.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame": { - "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame", - "description": "The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, i.e. the rectangle over the video frame pinpointing the found AnnotationSpec. The coordinates are relative to the frame size, and the point 0,0 is in the top left of the frame.", - "type": "object", - "properties": { - "timeOffset": { - "description": "A time (frame) of a video in which the object has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", - "type": "string", - "format": "google-duration" - }, - "xMin": { - "description": "The leftmost coordinate of the bounding box.", - "type": "number", - "format": "float" - }, - "xMax": { - "description": "The rightmost coordinate of the bounding box.", - "type": "number", - "format": "float" - }, - "yMin": { - "description": "The topmost coordinate of the bounding box.", - "type": "number", - "format": "float" - }, - "yMax": { - "description": "The bottommost coordinate of the bounding box.", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting", - "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs", - "type": "object", - "properties": { - "targetColumn": { - "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", - "type": "string" - }, - "timeSeriesIdentifierColumn": { - "description": "The name of the column that identifies the time series.", - "type": "string" - }, - "timeColumn": { - "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", - "type": "string" - }, - "transformations": { - "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation" - } - }, - "optimizationObjective": { - "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", - "type": "string" - }, - "trainBudgetMilliNodeHours": { - "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", - "type": "string", - "format": "int64" - }, - "weightColumn": { - "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", - "type": "string" - }, - "timeSeriesAttributeColumns": { - "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", - "type": "array", - "items": { - "type": "string" - } - }, - "unavailableAtForecastColumns": { - "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", - "type": "array", - "items": { - "type": "string" - } - }, - "availableAtForecastColumns": { - "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", - "type": "array", - "items": { - "type": "string" - } - }, - "dataGranularity": { - "description": "Expected difference in time granularity between rows in the data.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity" - }, - "forecastHorizon": { - "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "contextWindow": { - "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "exportEvaluatedDataItemsConfig": { - "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" - }, - "quantiles": { - "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`, or for probabilistic inference. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "hierarchyConfig": { - "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" - }, - "windowConfig": { - "description": "Config containing strategy for generating sliding windows.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" - }, - "holidayRegions": { - "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", - "type": "array", - "items": { - "type": "string" - } - }, - "enableProbabilisticInference": { - "description": "If probabilistic inference is enabled, the model will fit a distribution that captures the uncertainty of a prediction. At inference time, the predictive distribution is used to make a point prediction that minimizes the optimization objective. For example, the mean of a predictive distribution is the point prediction that minimizes RMSE loss. If quantiles are specified, then the quantiles of the distribution are also returned. The optimization objective cannot be minimize-quantile-loss.", - "type": "boolean" - }, - "validationOptions": { - "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", - "type": "string" - }, - "additionalExperiments": { - "description": "Additional experiment flags for the time series forcasting training.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation", - "type": "object", - "properties": { - "auto": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation" - }, - "numeric": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation" - }, - "categorical": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation" - }, - "timestamp": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation" - }, - "text": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation", - "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation", - "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation", - "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation", - "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "timeFormat": { - "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation", - "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", - "description": "A duration of time expressed in time granularity units.", - "type": "object", - "properties": { - "unit": { - "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", - "type": "string" - }, - "quantity": { - "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", - "description": "Configuration for exporting test set predictions to a BigQuery table.", - "type": "object", - "properties": { - "destinationBigqueryUri": { - "description": "URI of desired destination BigQuery table. Expected format: `bq://{project_id}:{dataset_id}:{table}` If not specified, then results are exported to the following auto-created BigQuery table: `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples`", - "type": "string" - }, - "overrideExistingTable": { - "description": "If true and an export destination is specified, then the contents of the destination are overwritten. Otherwise, if the export destination already exists, then the export operation fails.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", - "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", - "type": "object", - "properties": { - "groupColumns": { - "description": "A list of time series attribute column names that define the time series hierarchy. Only one level of hierarchy is supported, ex. 'region' for a hierarchy of stores or 'department' for a hierarchy of products. If multiple columns are specified, time series will be grouped by their combined values, ex. ('blue', 'large') for 'color' and 'size', up to 5 columns are accepted. If no group columns are specified, all time series are considered to be part of the same group.", - "type": "array", - "items": { - "type": "string" - } - }, - "groupTotalWeight": { - "description": "The weight of the loss for predictions aggregated over time series in the same group.", - "type": "number", - "format": "double" - }, - "temporalTotalWeight": { - "description": "The weight of the loss for predictions aggregated over the horizon for a single time series.", - "type": "number", - "format": "double" - }, - "groupTemporalTotalWeight": { - "description": "The weight of the loss for predictions aggregated over both the horizon and time series in the same hierarchy group.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", - "description": "Config that contains the strategy used to generate sliding windows in time series training. A window is a series of rows that comprise the context up to the time of prediction, and the horizon following. The corresponding row for each window marks the start of the forecast horizon. Each window is used as an input example for training/evaluation.", - "type": "object", - "properties": { - "column": { - "description": "Name of the column that should be used to generate sliding windows. The column should contain either booleans or string booleans; if the value of the row is True, generate a sliding window with the horizon starting at that row. The column will not be used as a feature in training.", - "type": "string" - }, - "strideLength": { - "description": "Stride length used to generate input examples. Within one time series, every {$STRIDE_LENGTH} rows will be used to generate a sliding window.", - "type": "string", - "format": "int64" - }, - "maxCount": { - "description": "Maximum number of windows that should be generated across all time series.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", - "description": "Model metadata specific to AutoML Forecasting.", - "type": "object", - "properties": { - "trainCostMilliNodeHours": { - "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", - "type": "string", - "format": "int64" - }, - "evaluatedDataItemsBigqueryUri": { - "description": "BigQuery destination uri for exported evaluated examples.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification", - "description": "A TrainingJob that trains and uploads an AutoML Image Classification Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A Model best tailored to be used within Google Cloud, and which cannot be exported. Default.", - "A model type best tailored to be used within Google Cloud, which cannot be exported externally. Compared to the CLOUD model above, it is expected to have higher prediction accuracy.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device with afterwards.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", - "EfficientNet model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", - "MaxViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", - "ViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", - "CoCa model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD", - "CLOUD_1", - "MOBILE_TF_LOW_LATENCY_1", - "MOBILE_TF_VERSATILE_1", - "MOBILE_TF_HIGH_ACCURACY_1", - "EFFICIENTNET", - "MAXVIT", - "VIT", - "COCA" - ] - }, - "baseModelId": { - "description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", - "type": "string" - }, - "budgetMilliNodeHours": { - "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 8,000 and 800,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time, considering 8 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1`, the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", - "type": "string", - "format": "int64" - }, - "disableEarlyStopping": { - "description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Classification might stop training before the entire training budget has been used.", - "type": "boolean" - }, - "multiLabel": { - "description": "If false, a single-label (multi-class) Model will be trained (i.e. assuming that for each image just up to one annotation may be applicable). If true, a multi-label Model will be trained (i.e. assuming that for each image multiple annotations may be applicable).", - "type": "boolean" - }, - "uptrainBaseModelId": { - "description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", - "type": "string" - }, - "tunableParameter": { - "description": "Trainer type for Vision TrainRequest.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", - "description": "A wrapper class which contains the tunable parameters in an AutoML Image training job.", - "type": "object", - "properties": { - "trainerType": { - "type": "string", - "enumDescriptions": [ - "Default value.", - "", - "" - ], - "enum": [ - "TRAINER_TYPE_UNSPECIFIED", - "AUTOML_TRAINER", - "MODEL_GARDEN_TRAINER" - ] - }, - "checkpointName": { - "description": "Optional. An unique name of pretrained model checkpoint provided in model garden, it will be mapped to a GCS location internally.", - "type": "string" - }, - "studySpec": { - "description": "Optioinal. StudySpec of hyperparameter tuning job. Required for `model_garden_trainer`.", - "$ref": "GoogleCloudAiplatformV1StudySpec" - }, - "trainerConfig": { - "description": "Customizable trainer settings, used in the `model_garden_trainer`.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "datasetConfig": { - "description": "Customizable dataset settings, used in the `model_garden_trainer`.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", - "type": "object", - "properties": { - "costMilliNodeHours": { - "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", - "type": "string", - "format": "int64" - }, - "successfulStopReason": { - "description": "For successful job completions, this is the reason why the job has finished.", - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "The inputs.budgetMilliNodeHours had been reached.", - "Further training of the Model ceased to increase its quality, since it already has converged." - ], - "enum": [ - "SUCCESSFUL_STOP_REASON_UNSPECIFIED", - "BUDGET_REACHED", - "MODEL_CONVERGED" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection", - "description": "A TrainingJob that trains and uploads an AutoML Image Object Detection Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs" - }, - "metadata": { - "description": "The metadata information", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a higher latency, but should also have a higher prediction quality than other cloud models.", - "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a low latency, but may have lower prediction quality than other cloud models.", - "A model best tailored to be used within Google Cloud, and which cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and CLOUD_LOW_LATENCY_1 models above, it is expected to have higher prediction quality and lower latency.", - "A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", - "A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", - "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to best support predictions in streaming with lower latency and lower prediction quality than other cloud models.", - "SpineNet for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", - "YOLO for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD_HIGH_ACCURACY_1", - "CLOUD_LOW_LATENCY_1", - "CLOUD_1", - "MOBILE_TF_LOW_LATENCY_1", - "MOBILE_TF_VERSATILE_1", - "MOBILE_TF_HIGH_ACCURACY_1", - "CLOUD_STREAMING_1", - "SPINENET", - "YOLO" - ] - }, - "budgetMilliNodeHours": { - "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 20,000 and 900,000 milli node hours, inclusive. The default value is 216,000 which represents one day in wall time, considering 9 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1` the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", - "type": "string", - "format": "int64" - }, - "disableEarlyStopping": { - "description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Object Detection might stop training before the entire training budget has been used.", - "type": "boolean" - }, - "uptrainBaseModelId": { - "description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", - "type": "string" - }, - "tunableParameter": { - "description": "Trainer type for Vision TrainRequest.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", - "type": "object", - "properties": { - "costMilliNodeHours": { - "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", - "type": "string", - "format": "int64" - }, - "successfulStopReason": { - "description": "For successful job completions, this is the reason why the job has finished.", - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "The inputs.budgetMilliNodeHours had been reached.", - "Further training of the Model ceased to increase its quality, since it already has converged." - ], - "enum": [ - "SUCCESSFUL_STOP_REASON_UNSPECIFIED", - "BUDGET_REACHED", - "MODEL_CONVERGED" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation", - "description": "A TrainingJob that trains and uploads an AutoML Image Segmentation Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A model to be used via prediction calls to uCAIP API. Expected to have a higher latency, but should also have a higher prediction quality than other models.", - "A model to be used via prediction calls to uCAIP API. Expected to have a lower latency but relatively lower prediction quality.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD_HIGH_ACCURACY_1", - "CLOUD_LOW_ACCURACY_1", - "MOBILE_TF_LOW_LATENCY_1" - ] - }, - "budgetMilliNodeHours": { - "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. Or actual_wall_clock_hours = train_budget_milli_node_hours / (number_of_nodes_involved * 1000) For modelType `cloud-high-accuracy-1`(default), the budget must be between 20,000 and 2,000,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time (1000 milli * 24 hours * 8 nodes).", - "type": "string", - "format": "int64" - }, - "baseModelId": { - "description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", - "type": "object", - "properties": { - "costMilliNodeHours": { - "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", - "type": "string", - "format": "int64" - }, - "successfulStopReason": { - "description": "For successful job completions, this is the reason why the job has finished.", - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "The inputs.budgetMilliNodeHours had been reached.", - "Further training of the Model ceased to increase its quality, since it already has converged." - ], - "enum": [ - "SUCCESSFUL_STOP_REASON_UNSPECIFIED", - "BUDGET_REACHED", - "MODEL_CONVERGED" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables", - "description": "A TrainingJob that trains and uploads an AutoML Tables Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs", - "type": "object", - "properties": { - "optimizationObjectiveRecallValue": { - "description": "Required when optimization_objective is \"maximize-precision-at-recall\". Must be between 0 and 1, inclusive.", - "type": "number", - "format": "float" - }, - "optimizationObjectivePrecisionValue": { - "description": "Required when optimization_objective is \"maximize-recall-at-precision\". Must be between 0 and 1, inclusive.", - "type": "number", - "format": "float" - }, - "predictionType": { - "description": "The type of prediction the Model is to produce. \"classification\" - Predict one out of multiple target values is picked for each row. \"regression\" - Predict a value based on its relation to other values. This type is available only to columns that contain semantically numeric values, i.e. integers or floating point number, even if stored as e.g. strings.", - "type": "string" - }, - "targetColumn": { - "description": "The column name of the target column that the model is to predict.", - "type": "string" - }, - "transformations": { - "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation" - } - }, - "optimizationObjective": { - "description": "Objective function the model is optimizing towards. The training process creates a model that maximizes/minimizes the value of the objective function over the validation set. The supported optimization objectives depend on the prediction type. If the field is not set, a default objective function is used. classification (binary): \"maximize-au-roc\" (default) - Maximize the area under the receiver operating characteristic (ROC) curve. \"minimize-log-loss\" - Minimize log loss. \"maximize-au-prc\" - Maximize the area under the precision-recall curve. \"maximize-precision-at-recall\" - Maximize precision for a specified recall value. \"maximize-recall-at-precision\" - Maximize recall for a specified precision value. classification (multi-class): \"minimize-log-loss\" (default) - Minimize log loss. regression: \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). \"minimize-mae\" - Minimize mean-absolute error (MAE). \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE).", - "type": "string" - }, - "trainBudgetMilliNodeHours": { - "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", - "type": "string", - "format": "int64" - }, - "disableEarlyStopping": { - "description": "Use the entire training budget. This disables the early stopping feature. By default, the early stopping feature is enabled, which means that AutoML Tables might stop training before the entire training budget has been used.", - "type": "boolean" - }, - "weightColumnName": { - "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", - "type": "string" - }, - "exportEvaluatedDataItemsConfig": { - "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" - }, - "additionalExperiments": { - "description": "Additional experiment flags for the Tables training pipeline.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation", - "type": "object", - "properties": { - "auto": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation" - }, - "numeric": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation" - }, - "categorical": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation" - }, - "timestamp": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation" - }, - "text": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation" - }, - "repeatedNumeric": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation" - }, - "repeatedCategorical": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation" - }, - "repeatedText": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation", - "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation", - "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "invalidValuesAllowed": { - "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation", - "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation", - "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the * timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "timeFormat": { - "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", - "type": "string" - }, - "invalidValuesAllowed": { - "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation", - "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Tokenize text to words. Convert each words to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Tokenization is based on unicode script boundaries. * Missing values get their own lookup index and resulting embedding. * Stop-words receive no special treatment and are not removed.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation", - "description": "Treats the column as numerical array and performs following transformation functions. * All transformations for Numerical types applied to the average of the all elements. * The average of empty arrays is treated as zero.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "invalidValuesAllowed": { - "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation", - "description": "Treats the column as categorical array and performs following transformation functions. * For each element in the array, convert the category name to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Empty arrays treated as an embedding of zeroes.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation", - "description": "Treats the column as text array and performs following transformation functions. * Concatenate all text values in the array into a single text value using a space (\" \") as a delimiter, and then treat the result as a single text value. Apply the transformations for Text columns. * Empty arrays treated as an empty text.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata", - "description": "Model metadata specific to AutoML Tables.", - "type": "object", - "properties": { - "trainCostMilliNodeHours": { - "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", - "type": "string", - "format": "int64" - }, - "evaluatedDataItemsBigqueryUri": { - "description": "BigQuery destination uri for exported evaluated examples.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification", - "description": "A TrainingJob that trains and uploads an AutoML Text Classification Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", - "type": "object", - "properties": { - "multiLabel": { - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction", - "description": "A TrainingJob that trains and uploads an AutoML Text Extraction Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment", - "description": "A TrainingJob that trains and uploads an AutoML Text Sentiment Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", - "type": "object", - "properties": { - "sentimentMax": { - "description": "A sentiment is expressed as an integer ordinal, where higher value means a more positive sentiment. The range of sentiments that will be used is between 0 and sentimentMax (inclusive on both ends), and all the values in the range must be represented in the dataset before a model can be created. Only the Annotations with this sentimentMax will be used for training. sentimentMax value must be between 1 and 10 (inclusive).", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition", - "description": "A TrainingJob that trains and uploads an AutoML Video Action Recognition Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a Coral device afterwards." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD", - "MOBILE_VERSATILE_1", - "MOBILE_JETSON_VERSATILE_1", - "MOBILE_CORAL_VERSATILE_1" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification", - "description": "A TrainingJob that trains and uploads an AutoML Video Classification Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A model best tailored to be used within Google Cloud, and which cannot be exported. Default.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD", - "MOBILE_VERSATILE_1", - "MOBILE_JETSON_VERSATILE_1" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking", - "description": "A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", - "type": "object", - "properties": { - "modelType": { - "type": "string", - "enumDescriptions": [ - "Should not be set.", - "A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", - "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", - "A versatile model that is meant to be exported (see ModelService.ExportModel) and used on a Google Coral device.", - "A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on a Google Coral device.", - "A versatile model that is meant to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device.", - "A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device." - ], - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "CLOUD", - "MOBILE_VERSATILE_1", - "MOBILE_CORAL_VERSATILE_1", - "MOBILE_CORAL_LOW_LATENCY_1", - "MOBILE_JETSON_VERSATILE_1", - "MOBILE_JETSON_LOW_LATENCY_1" - ] - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask", - "description": "A TrainingJob that trains a custom code Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this CustomTask.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata", - "type": "object", - "properties": { - "backingCustomJob": { - "description": "The resource name of the CustomJob that has been created to carry out this custom task.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask", - "description": "A TrainingJob that tunes Hypererparameters of a custom code Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this HyperparameterTuningTask.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", - "type": "object", - "properties": { - "studySpec": { - "description": "Study configuration of the HyperparameterTuningJob.", - "$ref": "GoogleCloudAiplatformV1StudySpec" - }, - "trialJobSpec": { - "description": "The spec of a trial job. The same spec applies to the CustomJobs created in all the trials.", - "$ref": "GoogleCloudAiplatformV1CustomJobSpec" - }, - "maxTrialCount": { - "description": "The desired total number of Trials.", - "type": "integer", - "format": "int32" - }, - "parallelTrialCount": { - "description": "The desired number of Trials to run in parallel.", - "type": "integer", - "format": "int32" - }, - "maxFailedTrialCount": { - "description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", - "type": "object", - "properties": { - "backingHyperparameterTuningJob": { - "description": "The resource name of the HyperparameterTuningJob that has been created to carry out this HyperparameterTuning task.", - "type": "string" - }, - "bestTrialBackingCustomJob": { - "description": "The resource name of the CustomJob that has been created to run the best Trial of this HyperparameterTuning task.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting", - "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", - "type": "object", - "properties": { - "targetColumn": { - "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", - "type": "string" - }, - "timeSeriesIdentifierColumn": { - "description": "The name of the column that identifies the time series.", - "type": "string" - }, - "timeColumn": { - "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", - "type": "string" - }, - "transformations": { - "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation" - } - }, - "optimizationObjective": { - "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", - "type": "string" - }, - "trainBudgetMilliNodeHours": { - "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", - "type": "string", - "format": "int64" - }, - "weightColumn": { - "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", - "type": "string" - }, - "timeSeriesAttributeColumns": { - "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", - "type": "array", - "items": { - "type": "string" - } - }, - "unavailableAtForecastColumns": { - "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", - "type": "array", - "items": { - "type": "string" - } - }, - "availableAtForecastColumns": { - "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", - "type": "array", - "items": { - "type": "string" - } - }, - "dataGranularity": { - "description": "Expected difference in time granularity between rows in the data.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity" - }, - "forecastHorizon": { - "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "contextWindow": { - "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "holidayRegions": { - "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", - "type": "array", - "items": { - "type": "string" - } - }, - "exportEvaluatedDataItemsConfig": { - "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" - }, - "windowConfig": { - "description": "Config containing strategy for generating sliding windows.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" - }, - "quantiles": { - "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "validationOptions": { - "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", - "type": "string" - }, - "additionalExperiments": { - "description": "Additional experiment flags for the time series forcasting training.", - "type": "array", - "items": { - "type": "string" - } - }, - "hierarchyConfig": { - "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation", - "type": "object", - "properties": { - "auto": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation" - }, - "numeric": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation" - }, - "categorical": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation" - }, - "timestamp": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation" - }, - "text": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation", - "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation", - "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation", - "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation", - "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "timeFormat": { - "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation", - "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", - "description": "A duration of time expressed in time granularity units.", - "type": "object", - "properties": { - "unit": { - "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", - "type": "string" - }, - "quantity": { - "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", - "description": "Model metadata specific to Seq2Seq Plus Forecasting.", - "type": "object", - "properties": { - "trainCostMilliNodeHours": { - "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", - "type": "string", - "format": "int64" - }, - "evaluatedDataItemsBigqueryUri": { - "description": "BigQuery destination uri for exported evaluated examples.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting", - "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", - "type": "object", - "properties": { - "inputs": { - "description": "The input parameters of this TrainingJob.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs" - }, - "metadata": { - "description": "The metadata information.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs", - "type": "object", - "properties": { - "targetColumn": { - "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", - "type": "string" - }, - "timeSeriesIdentifierColumn": { - "description": "The name of the column that identifies the time series.", - "type": "string" - }, - "timeColumn": { - "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", - "type": "string" - }, - "transformations": { - "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation" - } - }, - "optimizationObjective": { - "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", - "type": "string" - }, - "trainBudgetMilliNodeHours": { - "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", - "type": "string", - "format": "int64" - }, - "weightColumn": { - "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", - "type": "string" - }, - "timeSeriesAttributeColumns": { - "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", - "type": "array", - "items": { - "type": "string" - } - }, - "unavailableAtForecastColumns": { - "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", - "type": "array", - "items": { - "type": "string" - } - }, - "availableAtForecastColumns": { - "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", - "type": "array", - "items": { - "type": "string" - } - }, - "dataGranularity": { - "description": "Expected difference in time granularity between rows in the data.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity" - }, - "forecastHorizon": { - "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "contextWindow": { - "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", - "type": "string", - "format": "int64" - }, - "holidayRegions": { - "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", - "type": "array", - "items": { - "type": "string" - } - }, - "exportEvaluatedDataItemsConfig": { - "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" - }, - "windowConfig": { - "description": "Config containing strategy for generating sliding windows.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" - }, - "quantiles": { - "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "validationOptions": { - "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", - "type": "string" - }, - "additionalExperiments": { - "description": "Additional experiment flags for the time series forcasting training.", - "type": "array", - "items": { - "type": "string" - } - }, - "hierarchyConfig": { - "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation", - "type": "object", - "properties": { - "auto": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation" - }, - "numeric": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation" - }, - "categorical": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation" - }, - "timestamp": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation" - }, - "text": { - "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation", - "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation", - "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation", - "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation", - "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - }, - "timeFormat": { - "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation", - "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", - "type": "object", - "properties": { - "columnName": { - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", - "description": "A duration of time expressed in time granularity units.", - "type": "object", - "properties": { - "unit": { - "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", - "type": "string" - }, - "quantity": { - "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", - "type": "string", - "format": "int64" - } - } - }, - "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata", - "description": "Model metadata specific to TFT Forecasting.", - "type": "object", - "properties": { - "trainCostMilliNodeHours": { - "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", - "type": "string", - "format": "int64" - }, - "evaluatedDataItemsBigqueryUri": { - "description": "BigQuery destination uri for exported evaluated examples.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictionResult": { - "id": "GoogleCloudAiplatformV1SchemaPredictionResult", - "description": "Represents a line of JSONL in the batch prediction output file.", - "type": "object", - "properties": { - "instance": { - "description": "User's input instance. Struct is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "key": { - "description": "Optional user-provided key from the input instance.", - "type": "string" - }, - "prediction": { - "description": "The prediction result. Value is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON and so we can represent array of objects. Do not set error if this is set.", - "type": "any" - }, - "error": { - "description": "The error result. Do not set prediction if this is set.", - "$ref": "GoogleCloudAiplatformV1SchemaPredictionResultError" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictionResultError": { - "id": "GoogleCloudAiplatformV1SchemaPredictionResultError", - "type": "object", - "properties": { - "status": { - "description": "Error status. This will be serialized into the enum name e.g. \"NOT_FOUND\".", - "type": "string", - "enumDescriptions": [ - "Not an error; returned on success. HTTP Mapping: 200 OK", - "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", - "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", - "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", - "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", - "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", - "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", - "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", - "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", - "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", - "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", - "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", - "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", - "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", - "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", - "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", - "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" - ], - "enum": [ - "OK", - "CANCELLED", - "UNKNOWN", - "INVALID_ARGUMENT", - "DEADLINE_EXCEEDED", - "NOT_FOUND", - "ALREADY_EXISTS", - "PERMISSION_DENIED", - "UNAUTHENTICATED", - "RESOURCE_EXHAUSTED", - "FAILED_PRECONDITION", - "ABORTED", - "OUT_OF_RANGE", - "UNIMPLEMENTED", - "INTERNAL", - "UNAVAILABLE", - "DATA_LOSS" - ] - }, - "message": { - "description": "Error message with additional details.", - "type": "string" - } - } - }, - "CloudAiLargeModelsVisionGenerateVideoResponse": { - "id": "CloudAiLargeModelsVisionGenerateVideoResponse", - "description": "Generate video response.", - "type": "object", - "properties": { - "generatedSamples": { - "description": "The generates samples.", - "type": "array", - "items": { - "$ref": "CloudAiLargeModelsVisionMedia" - } - }, - "raiMediaFilteredCount": { - "description": "Returns if any videos were filtered due to RAI policies.", - "type": "integer", - "format": "int32" - }, - "raiMediaFilteredReasons": { - "description": "Returns rai failure reasons if any.", - "type": "array", - "items": { - "type": "string" - } - }, - "videos": { - "description": "List of videos, used to align naming with the external response.", - "type": "array", - "items": { - "$ref": "CloudAiLargeModelsVisionGenerateVideoResponseVideo" - } - } - } - }, - "CloudAiLargeModelsVisionMedia": { - "id": "CloudAiLargeModelsVisionMedia", - "description": "Media.", - "type": "object", - "properties": { - "image": { - "description": "Image.", - "$ref": "CloudAiLargeModelsVisionImage" - }, - "video": { - "description": "Video", - "$ref": "CloudAiLargeModelsVisionVideo" - } - } - }, - "CloudAiLargeModelsVisionImage": { - "id": "CloudAiLargeModelsVisionImage", - "description": "Image.", - "type": "object", - "properties": { - "image": { - "description": "Raw bytes.", - "type": "string", - "format": "byte" - }, - "uri": { - "description": "Path to another storage (typically Google Cloud Storage).", - "type": "string" - }, - "encoding": { - "description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", - "type": "string" - }, - "imageRaiScores": { - "description": "RAI scores for generated image.", - "$ref": "CloudAiLargeModelsVisionImageRAIScores" - }, - "raiInfo": { - "description": "RAI info for image.", - "$ref": "CloudAiLargeModelsVisionRaiInfo" - }, - "semanticFilterResponse": { - "description": "Semantic filter info for image.", - "$ref": "CloudAiLargeModelsVisionSemanticFilterResponse" - }, - "text": { - "description": "Text/Expanded text input for imagen.", - "type": "string" - }, - "generationSeed": { - "description": "Generation seed for the sampled image. This parameter is exposed to the user only if one of the following is true: 1. The user specified per-example seeds in the request. 2. The user doesn't specify the generation seed in the request.", - "type": "integer", - "format": "int32" - }, - "imageSize": { - "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes.", - "$ref": "CloudAiLargeModelsVisionImageImageSize" - } - } - }, - "CloudAiLargeModelsVisionImageRAIScores": { - "id": "CloudAiLargeModelsVisionImageRAIScores", - "description": "RAI scores for generated image returned.", - "type": "object", - "properties": { - "agileWatermarkDetectionScore": { - "description": "Agile watermark score for image.", - "type": "number", - "format": "double" - } - } - }, - "CloudAiLargeModelsVisionRaiInfo": { - "id": "CloudAiLargeModelsVisionRaiInfo", - "description": "Next ID: 6", - "type": "object", - "properties": { - "raiCategories": { - "description": "List of rai categories' information to return", - "type": "array", - "items": { - "type": "string" - } - }, - "scores": { - "description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", - "type": "array", - "items": { - "type": "number", - "format": "float" - } - }, - "blockedEntities": { - "description": "List of blocked entities from the blocklist if it is detected.", - "type": "array", - "items": { - "type": "string" - } - }, - "detectedLabels": { - "description": "The list of detected labels for different rai categories.", - "type": "array", - "items": { - "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" - } - }, - "modelName": { - "description": "The model name used to indexing into the RaiFilterConfig map. Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint names, or internal names used for mapping to different filter configs (genselfie, ai_watermark) than its api endpoint.", - "type": "string" - } - } - }, - "CloudAiLargeModelsVisionRaiInfoDetectedLabels": { - "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", - "description": "Filters returning list of deteceted labels, scores, and bounding boxes.", - "type": "object", - "properties": { - "raiCategory": { - "description": "The RAI category for the deteceted labels.", - "type": "string" - }, - "entities": { - "description": "The list of detected entities for the rai signal.", - "type": "array", - "items": { - "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" - } - } - } - }, - "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { - "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", - "description": "The properties for a detected entity from the rai signal.", - "type": "object", - "properties": { - "mid": { - "description": "MID of the label", - "type": "string" - }, - "description": { - "description": "Description of the label", - "type": "string" - }, - "score": { - "description": "Confidence score of the label", - "type": "number", - "format": "float" - }, - "boundingBox": { - "description": "Bounding box of the label", - "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox" - }, - "iouScore": { - "description": "The intersection ratio between the detection bounding box and the mask.", - "type": "number", - "format": "float" - } - } - }, - "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { - "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", - "description": "An integer bounding box of original pixels of the image for the detected labels.", - "type": "object", - "properties": { - "x1": { - "description": "The X coordinate of the top-left corner, in pixels.", - "type": "integer", - "format": "int32" - }, - "y1": { - "description": "The Y coordinate of the top-left corner, in pixels.", - "type": "integer", - "format": "int32" - }, - "x2": { - "description": "The X coordinate of the bottom-right corner, in pixels.", - "type": "integer", - "format": "int32" - }, - "y2": { - "description": "The Y coordinate of the bottom-right corner, in pixels.", - "type": "integer", - "format": "int32" - } - } - }, - "CloudAiLargeModelsVisionSemanticFilterResponse": { - "id": "CloudAiLargeModelsVisionSemanticFilterResponse", - "type": "object", - "properties": { - "passedSemanticFilter": { - "description": "This response is added when semantic filter config is turned on in EditConfig. It reports if this image is passed semantic filter response. If passed_semantic_filter is false, the bounding box information will be populated for user to check what caused the semantic filter to fail.", - "type": "boolean" - }, - "namedBoundingBoxes": { - "description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", - "type": "array", - "items": { - "$ref": "CloudAiLargeModelsVisionNamedBoundingBox" - } - } - } - }, - "CloudAiLargeModelsVisionNamedBoundingBox": { - "id": "CloudAiLargeModelsVisionNamedBoundingBox", - "type": "object", - "properties": { - "x1": { - "type": "number", - "format": "float" - }, - "x2": { - "type": "number", - "format": "float" - }, - "y1": { - "type": "number", - "format": "float" - }, - "y2": { - "type": "number", - "format": "float" - }, - "classes": { - "type": "array", - "items": { - "type": "string" - } - }, - "entities": { - "type": "array", - "items": { - "type": "string" - } - }, - "scores": { - "type": "array", - "items": { - "type": "number", - "format": "float" - } - } - } - }, - "CloudAiLargeModelsVisionImageImageSize": { - "id": "CloudAiLargeModelsVisionImageImageSize", - "description": "Image size.", - "type": "object", - "properties": { - "width": { - "type": "integer", - "format": "int32" - }, - "height": { - "type": "integer", - "format": "int32" - }, - "channels": { - "type": "integer", - "format": "int32" - } - } - }, - "CloudAiLargeModelsVisionVideo": { - "id": "CloudAiLargeModelsVisionVideo", - "description": "Video", - "type": "object", - "properties": { - "video": { - "description": "Raw bytes.", - "type": "string", - "format": "byte" - }, - "uri": { - "description": "Path to another storage (typically Google Cloud Storage).", - "type": "string" - }, - "encodedVideo": { - "description": "Base 64 encoded video bytes.", - "type": "string" - }, - "encoding": { - "description": "Video encoding, for example \"video/mp4\".", - "type": "string" - }, - "text": { - "description": "Text/Expanded text input for Help Me Write.", - "type": "string" - } - } - }, - "CloudAiLargeModelsVisionGenerateVideoResponseVideo": { - "id": "CloudAiLargeModelsVisionGenerateVideoResponseVideo", - "type": "object", - "properties": { - "gcsUri": { - "description": "Cloud Storage URI where the generated video is written.", - "type": "string" - }, - "bytesBase64Encoded": { - "description": "Base64 encoded bytes string representing the video.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the content of the video. - video/mp4", - "type": "string" - } - } - }, - "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { - "id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", - "description": "Create API error message for Vertex Pipeline.", - "type": "object", - "properties": { - "errorCause": { - "description": "The error root cause returned by CreatePipelineJob API.", - "type": "string", - "enumDescriptions": [ - "Should never be used.", - "IR Pipeline Spec can not been parsed to yaml or json format.", - "A pipeline spec is invalid.", - "A deployment config is invalid.", - "A deployment spec is invalid.", - "An instance schema is invalid.", - "A custom job is invalid.", - "A container spec is invalid.", - "Notification email setup is invalid.", - "Service account setup is invalid.", - "KMS setup is invalid.", - "Network setup is invalid.", - "Task spec is invalid.", - "Task artifact is invalid.", - "Importer spec is invalid.", - "Resolver spec is invalid.", - "Runtime Parameters are invalid.", - "Cloud API not enabled.", - "Invalid Cloud Storage input uri", - "Invalid Cloud Storage output uri", - "Component spec of pipeline is invalid.", - "DagOutputsSpec is invalid.", - "DagSpec is invalid.", - "Project does not have enough quota.", - "An internal error with unknown cause." - ], - "enum": [ - "ERROR_CAUSE_UNSPECIFIED", - "INVALID_PIPELINE_SPEC_FORMAT", - "INVALID_PIPELINE_SPEC", - "INVALID_DEPLOYMENT_CONFIG", - "INVALID_DEPLOYMENT_SPEC", - "INVALID_INSTANCE_SCHEMA", - "INVALID_CUSTOM_JOB", - "INVALID_CONTAINER_SPEC", - "INVALID_NOTIFICATION_EMAIL_SETUP", - "INVALID_SERVICE_ACCOUNT_SETUP", - "INVALID_KMS_SETUP", - "INVALID_NETWORK_SETUP", - "INVALID_PIPELINE_TASK_SPEC", - "INVALID_PIPELINE_TASK_ARTIFACT", - "INVALID_IMPORTER_SPEC", - "INVALID_RESOLVER_SPEC", - "INVALID_RUNTIME_PARAMETERS", - "CLOUD_API_NOT_ENABLED", - "INVALID_GCS_INPUT_URI", - "INVALID_GCS_OUTPUT_URI", - "INVALID_COMPONENT_SPEC", - "INVALID_DAG_OUTPUTS_SPEC", - "INVALID_DAG_SPEC", - "INSUFFICIENT_QUOTA", - "INTERNAL" - ] - }, - "publicMessage": { - "description": "Public messages contains actionable items for the error cause.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1CreateDatasetOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateDatasetOperationMetadata", - "description": "Runtime operation information for DatasetService.CreateDataset.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata": { - "id": "GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata", - "description": "Runtime operation information for DatasetService.CreateDatasetVersion.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata": { - "id": "GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata", - "description": "Runtime operation information for DatasetService.RestoreDatasetVersion.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The common part of the operation metadata.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation", - "description": "Annotation details specific to image object detection.", - "type": "object", - "properties": { - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "xMin": { - "description": "The leftmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "xMax": { - "description": "The rightmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "yMin": { - "description": "The topmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "yMax": { - "description": "The bottommost coordinate of the bounding box.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageClassificationAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageClassificationAnnotation", - "description": "Annotation details specific to image classification.", - "type": "object", - "properties": { - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageDataItem": { - "id": "GoogleCloudAiplatformV1SchemaImageDataItem", - "description": "Payload of Image DataItem.", - "type": "object", - "properties": { - "gcsUri": { - "description": "Required. Google Cloud Storage URI points to the original image in user's bucket. The image is up to 30MB in size.", - "type": "string" - }, - "mimeType": { - "description": "Output only. The mime type of the content of the image. Only the images in below listed mime types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaImageDatasetMetadata", - "description": "The metadata of Datasets that contain Image DataItems.", - "type": "object", - "properties": { - "dataItemSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Image DataItems that belong to this Dataset.", - "type": "string" - }, - "gcsBucket": { - "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation", - "description": "Annotation details specific to image segmentation.", - "type": "object", - "properties": { - "maskAnnotation": { - "description": "Mask based segmentation annotation. Only one mask annotation can exist for one image.", - "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation" - }, - "polygonAnnotation": { - "description": "Polygon annotation.", - "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation" - }, - "polylineAnnotation": { - "description": "Polyline annotation.", - "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation", - "description": "The mask based segmentation annotation.", - "type": "object", - "properties": { - "maskGcsUri": { - "description": "Google Cloud Storage URI that points to the mask image. The image must be in PNG format. It must have the same size as the DataItem's image. Each pixel in the image mask represents the AnnotationSpec which the pixel in the image DataItem belong to. Each color is mapped to one AnnotationSpec based on annotation_spec_colors.", - "type": "string" - }, - "annotationSpecColors": { - "description": "The mapping between color and AnnotationSpec for this Annotation.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaAnnotationSpecColor": { - "id": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor", - "description": "An entry of mapping between color and AnnotationSpec. The mapping is used in segmentation mask.", - "type": "object", - "properties": { - "color": { - "description": "The color of the AnnotationSpec in a segmentation mask.", - "$ref": "GoogleTypeColor" - }, - "displayName": { - "description": "The display name of the AnnotationSpec represented by the color in the segmentation mask.", - "type": "string" - }, - "id": { - "description": "The ID of the AnnotationSpec represented by the color in the segmentation mask.", - "type": "string" - } - } - }, - "GoogleTypeColor": { - "id": "GoogleTypeColor", - "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha \u003c= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i \u003c missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", - "type": "object", - "properties": { - "red": { - "description": "The amount of red in the color as a value in the interval [0, 1].", - "type": "number", - "format": "float" - }, - "green": { - "description": "The amount of green in the color as a value in the interval [0, 1].", - "type": "number", - "format": "float" - }, - "blue": { - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "type": "number", - "format": "float" - }, - "alpha": { - "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", - "type": "number", - "format": "float" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation", - "description": "Represents a polygon in image.", - "type": "object", - "properties": { - "vertexes": { - "description": "The vertexes are connected one by one and the last vertex is connected to the first one to represent a polygon.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaVertex" - } - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVertex": { - "id": "GoogleCloudAiplatformV1SchemaVertex", - "description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", - "type": "object", - "properties": { - "x": { - "description": "X coordinate.", - "type": "number", - "format": "double" - }, - "y": { - "description": "Y coordinate.", - "type": "number", - "format": "double" - } - } - }, - "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation", - "description": "Represents a polyline in image.", - "type": "object", - "properties": { - "vertexes": { - "description": "The vertexes are connected one by one and the last vertex in not connected to the first one.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaVertex" - } - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata", - "description": "The metadata of Datasets that contain tables data.", - "type": "object", - "properties": { - "inputConfig": { - "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig" - } - } - }, - "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig": { - "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig", - "description": "The tables Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", - "type": "object", - "properties": { - "gcsSource": { - "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource" - }, - "bigquerySource": { - "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource" - } - } - }, - "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource": { - "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource", - "type": "object", - "properties": { - "uri": { - "description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource": { - "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource", - "type": "object", - "properties": { - "uri": { - "description": "The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextClassificationAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaTextClassificationAnnotation", - "description": "Annotation details specific to text classification.", - "type": "object", - "properties": { - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextDataItem": { - "id": "GoogleCloudAiplatformV1SchemaTextDataItem", - "description": "Payload of Text DataItem.", - "type": "object", - "properties": { - "gcsUri": { - "description": "Output only. Google Cloud Storage URI points to a copy of the original text in the Vertex-managed bucket in the user's project. The text file is up to 10MB in size.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTextDatasetMetadata", - "description": "The metadata of Datasets that contain Text DataItems.", - "type": "object", - "properties": { - "dataItemSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Text DataItems that belong to this Dataset.", - "type": "string" - }, - "gcsBucket": { - "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextExtractionAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaTextExtractionAnnotation", - "description": "Annotation details specific to text extraction.", - "type": "object", - "properties": { - "textSegment": { - "description": "The segment of the text content.", - "$ref": "GoogleCloudAiplatformV1SchemaTextSegment" - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextSegment": { - "id": "GoogleCloudAiplatformV1SchemaTextSegment", - "description": "The text segment inside of DataItem.", - "type": "object", - "properties": { - "startOffset": { - "description": "Zero-based character index of the first character of the text segment (counting characters from the beginning of the text).", - "type": "string", - "format": "uint64" - }, - "endOffset": { - "description": "Zero-based character index of the first character past the end of the text segment (counting character from the beginning of the text). The character at the end_offset is NOT included in the text segment.", - "type": "string", - "format": "uint64" - }, - "content": { - "description": "The text content in the segment for output only.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata", - "description": "The metadata of Datasets that contain Text Prompt data.", - "type": "object", - "properties": { - "text": { - "description": "The content of the prompt dataset.", - "type": "string" - }, - "gcsUri": { - "description": "The Google Cloud Storage URI that stores the prompt data.", - "type": "string" - }, - "temperature": { - "description": "Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness.", - "type": "number", - "format": "float" - }, - "maxOutputTokens": { - "description": "Value of the maximum number of tokens generated set when the dataset was saved.", - "type": "string", - "format": "int64" - }, - "topK": { - "description": "Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step.", - "type": "string", - "format": "int64" - }, - "topP": { - "description": "Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP.", - "type": "number", - "format": "float" - }, - "promptType": { - "description": "Type of the prompt dataset.", - "type": "string" - }, - "groundingConfig": { - "description": "Grounding checking configuration.", - "$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig" - }, - "stopSequences": { - "description": "Customized stop sequences.", - "type": "array", - "items": { - "type": "string" - } - }, - "candidateCount": { - "description": "Number of candidates.", - "type": "string", - "format": "int64" - }, - "note": { - "description": "User-created prompt note. Note size limit is 2KB.", - "type": "string" - }, - "systemInstructionGcsUri": { - "description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", - "type": "string" - }, - "hasPromptVariable": { - "description": "Whether the prompt dataset has prompt variable.", - "type": "boolean" - }, - "systemInstruction": { - "description": "The content of the prompt dataset system instruction.", - "type": "string" - }, - "seedEnabled": { - "description": "Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled.", - "type": "boolean" - }, - "seedValue": { - "description": "The actual value of the seed.", - "type": "string", - "format": "int64" - }, - "logprobs": { - "description": "Whether or not the user has enabled logit probabilities in the model parameters.", - "type": "boolean" - }, - "promptApiSchema": { - "description": "The API schema of the prompt to support both UI and SDK usages.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptApiSchema" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig", - "description": "The configuration for grounding checking.", - "type": "object", - "properties": { - "sources": { - "description": "The sources for the grounding checking.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry" - } - }, - "disableAttribution": { - "description": "If set, skip finding claim attributions (i.e not generate grounding citation).", - "deprecated": true, - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry": { - "id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry", - "description": "Single source entry for the grounding checking.", - "type": "object", - "properties": { - "type": { - "description": "The type of the grounding checking source.", - "type": "string", - "enumDescriptions": [ - "", - "Uses Web Search to check the grounding.", - "Uses Vertex AI Search to check the grounding. Deprecated. Use VERTEX_AI_SEARCH instead.", - "Uses Vertex AI Search to check the grounding", - "Uses inline context to check the grounding." - ], - "enumDeprecated": [ - false, - false, - true, - false, - false - ], - "enum": [ - "UNSPECIFIED", - "WEB", - "ENTERPRISE", - "VERTEX_AI_SEARCH", - "INLINE" - ] - }, - "enterpriseDatastore": { - "description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", - "deprecated": true, - "type": "string" - }, - "vertexAiSearchDatastore": { - "description": "The uri of the Vertex AI Search data source.", - "type": "string" - }, - "inlineContext": { - "description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptApiSchema": { - "id": "GoogleCloudAiplatformV1SchemaPromptApiSchema", - "description": "The A2 schema of a prompt.", - "type": "object", - "properties": { - "multimodalPrompt": { - "description": "Multimodal prompt which embeds preambles to prompt string.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt" - }, - "structuredPrompt": { - "description": "The prompt variation that stores preambles in separate fields.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt" - }, - "translationPrompt": { - "description": "The prompt variation for Translation use case.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt" - }, - "executions": { - "description": "A list of execution instances for constructing a ready-to-use prompt.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution" - } - }, - "apiSchemaVersion": { - "description": "The Schema version that represents changes to the API behavior.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", - "description": "Prompt variation that embeds preambles to prompt string.", - "type": "object", - "properties": { - "promptMessage": { - "description": "The prompt message.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", - "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", - "type": "object", - "properties": { - "model": { - "description": "The model name.", - "type": "string" - }, - "contents": { - "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Content" - } - }, - "systemInstruction": { - "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "tools": { - "description": "A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - } - }, - "toolConfig": { - "description": "Tool config. This config is shared for all tools provided in the request.", - "$ref": "GoogleCloudAiplatformV1ToolConfig" - }, - "safetySettings": { - "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SafetySetting" - } - }, - "generationConfig": { - "description": "Generation config.", - "$ref": "GoogleCloudAiplatformV1GenerationConfig" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", - "description": "Prompt variation that stores preambles in separate fields.", - "type": "object", - "properties": { - "promptMessage": { - "description": "The prompt message.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" - }, - "context": { - "description": "Preamble: The context of the prompt.", - "$ref": "GoogleCloudAiplatformV1Content" - }, - "inputPrefixes": { - "description": "Preamble: The input prefixes before each example input.", - "type": "array", - "items": { - "type": "string" - } - }, - "outputPrefixes": { - "description": "Preamble: The output prefixes before each example output.", - "type": "array", - "items": { - "type": "string" - } - }, - "examples": { - "description": "Preamble: A set of examples for expected model response.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" - } - }, - "infillPrefix": { - "description": "Preamble: For infill prompt, the prefix before expected model response.", - "type": "string" - }, - "infillSuffix": { - "description": "Preamble: For infill prompt, the suffix after expected model response.", - "type": "string" - }, - "predictionInputs": { - "description": "Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecPartList": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", - "description": "A list of elements and information that make up a portion of prompt.", - "type": "object", - "properties": { - "parts": { - "description": "A list of elements that can be part of a prompt.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1Part" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", - "description": "Prompt variation for Translation use case.", - "type": "object", - "properties": { - "promptMessage": { - "description": "The prompt message.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" - }, - "sourceLanguageCode": { - "description": "The source language code.", - "type": "string" - }, - "targetLanguageCode": { - "description": "The target language code.", - "type": "string" - }, - "option": { - "description": "The translation option.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption" - }, - "example": { - "description": "The translation example.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", - "description": "Optional settings for translation prompt.", - "type": "object", - "properties": { - "numberOfShots": { - "description": "How many shots to use.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", - "description": "The translation example that contains reference sentences from various sources.", - "type": "object", - "properties": { - "referenceSentencesFileInputs": { - "description": "The reference sentences from file.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput" - } - }, - "referenceSentencePairLists": { - "description": "The reference sentences from inline text.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput", - "type": "object", - "properties": { - "fileInputSource": { - "description": "Inlined file source.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource" - }, - "gcsInputSource": { - "description": "Cloud Storage file source.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", - "type": "object", - "properties": { - "mimeType": { - "description": "The file's mime type.", - "type": "string" - }, - "content": { - "description": "The file's contents.", - "type": "string" - }, - "displayName": { - "description": "The file's display name.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", - "type": "object", - "properties": { - "inputUri": { - "description": "Source data URI. For example, `gs://my_bucket/my_object`.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList", - "description": "A list of reference sentence pairs.", - "type": "object", - "properties": { - "referenceSentencePairs": { - "description": "Reference sentence pairs.", - "type": "array", - "items": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair": { - "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair", - "description": "A pair of sentences used as reference in source and target languages.", - "type": "object", - "properties": { - "sourceSentence": { - "description": "Source sentence in the sentence pair.", - "type": "string" - }, - "targetSentence": { - "description": "Target sentence in the sentence pair.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution": { - "id": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution", - "description": "A prompt instance's parameters set that contains a set of variable values.", - "type": "object", - "properties": { - "arguments": { - "description": "Maps variable names to their value.", - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue": { - "id": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue", - "description": "The value of a variable in prompt.", - "type": "object", - "properties": { - "partList": { - "description": "The parts of the variable value.", - "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextSentimentAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaTextSentimentAnnotation", - "description": "Annotation details specific to text sentiment.", - "type": "object", - "properties": { - "sentiment": { - "description": "The sentiment score for text.", - "type": "integer", - "format": "int32" - }, - "sentimentMax": { - "description": "The sentiment max score for text.", - "type": "integer", - "format": "int32" - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata", - "description": "The metadata of SavedQuery contains TextSentiment Annotations.", - "type": "object", - "properties": { - "sentimentMax": { - "description": "The maximum sentiment of sentiment Anntoation in this SavedQuery.", - "type": "integer", - "format": "int32" - } - } - }, - "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata", - "description": "The metadata of Datasets that contain time series data.", - "type": "object", - "properties": { - "inputConfig": { - "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig" - }, - "timeSeriesIdentifierColumn": { - "description": "The column name of the time series identifier column that identifies the time series.", - "type": "string" - }, - "timeColumn": { - "description": "The column name of the time column that identifies time order in the time series.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig": { - "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig", - "description": "The time series Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", - "type": "object", - "properties": { - "gcsSource": { - "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource" - }, - "bigquerySource": { - "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource" - } - } - }, - "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource": { - "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource", - "type": "object", - "properties": { - "uri": { - "description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource": { - "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource", - "type": "object", - "properties": { - "uri": { - "description": "The URI of a BigQuery table.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation", - "description": "Annotation details specific to video action recognition.", - "type": "object", - "properties": { - "timeSegment": { - "description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video.", - "$ref": "GoogleCloudAiplatformV1SchemaTimeSegment" - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaTimeSegment": { - "id": "GoogleCloudAiplatformV1SchemaTimeSegment", - "description": "A time period inside of a DataItem that has a time dimension (e.g. video).", - "type": "object", - "properties": { - "startTimeOffset": { - "description": "Start of the time segment (inclusive), represented as the duration since the start of the DataItem.", - "type": "string", - "format": "google-duration" - }, - "endTimeOffset": { - "description": "End of the time segment (exclusive), represented as the duration since the start of the DataItem.", - "type": "string", - "format": "google-duration" - } - } - }, - "GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation", - "description": "Annotation details specific to video classification.", - "type": "object", - "properties": { - "timeSegment": { - "description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video.", - "$ref": "GoogleCloudAiplatformV1SchemaTimeSegment" - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVideoDataItem": { - "id": "GoogleCloudAiplatformV1SchemaVideoDataItem", - "description": "Payload of Video DataItem.", - "type": "object", - "properties": { - "gcsUri": { - "description": "Required. Google Cloud Storage URI points to the original video in user's bucket. The video is up to 50 GB in size and up to 3 hour in duration.", - "type": "string" - }, - "mimeType": { - "description": "Output only. The mime type of the content of the video. Only the videos in below listed mime types are supported. Supported mime_type: - video/mp4 - video/avi - video/quicktime", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVideoDatasetMetadata": { - "id": "GoogleCloudAiplatformV1SchemaVideoDatasetMetadata", - "description": "The metadata of Datasets that contain Video DataItems.", - "type": "object", - "properties": { - "dataItemSchemaUri": { - "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Video DataItems that belong to this Dataset.", - "type": "string" - }, - "gcsBucket": { - "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation": { - "id": "GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation", - "description": "Annotation details specific to video object tracking.", - "type": "object", - "properties": { - "timeOffset": { - "description": "A time (frame) of a video to which this annotation pertains. Represented as the duration since the video's start.", - "type": "string", - "format": "google-duration" - }, - "xMin": { - "description": "The leftmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "xMax": { - "description": "The rightmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "yMin": { - "description": "The topmost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "yMax": { - "description": "The bottommost coordinate of the bounding box.", - "type": "number", - "format": "double" - }, - "instanceId": { - "description": "The instance of the object, expressed as a positive integer. Used to track the same object across different frames.", - "type": "string", - "format": "int64" - }, - "annotationSpecId": { - "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - }, - "displayName": { - "description": "The display name of the AnnotationSpec that this Annotation pertains to.", - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata": { - "id": "GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata", - "type": "object", - "properties": { - "multiLabel": { - "description": "Whether or not the classification label is multi_label.", - "type": "boolean" - } - } - }, - "GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata": { - "id": "GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata", - "type": "object", - "properties": {} - }, - "GoogleCloudAiplatformV1DeployOperationMetadata": { - "id": "GoogleCloudAiplatformV1DeployOperationMetadata", - "description": "Runtime operation information for ModelGardenService.Deploy.", - "type": "object", - "properties": { - "genericMetadata": { - "description": "The operation generic information.", - "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" - }, - "publisherModel": { - "description": "Output only. The name of the model resource.", - "readOnly": true, - "type": "string" - }, - "destination": { - "description": "Output only. The resource name of the Location to deploy the model in. Format: `projects/{project}/locations/{location}`", - "readOnly": true, - "type": "string" - }, - "projectNumber": { - "description": "Output only. The project number where the deploy model request is sent.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "modelId": { - "description": "Output only. The model id to be used at query time.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudAiplatformV1DeployResponse": { - "id": "GoogleCloudAiplatformV1DeployResponse", - "description": "Response message for ModelGardenService.Deploy.", - "type": "object", - "properties": { - "publisherModel": { - "description": "Output only. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`", - "readOnly": true, - "type": "string" - }, - "endpoint": { - "description": "Output only. The name of the Endpoint created. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "readOnly": true, - "type": "string" - }, - "model": { - "description": "Output only. The name of the Model created. Format: `projects/{project}/locations/{location}/models/{model}`", - "readOnly": true, - "type": "string" - } - } - } - }, - "revision": "20250728", - "baseUrl": "https://aiplatform.googleapis.com/", - "mtlsRootUrl": "https://aiplatform.mtls.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - }, - "https://www.googleapis.com/auth/cloud-platform.read-only": { - "description": "View your data across Google Cloud services and see the email address of your Google Account" - } - } - } - }, - "ownerName": "Google", - "resources": { - "datasets": { - "methods": { - "create": { - "id": "aiplatform.datasets.create", - "path": "v1/datasets", - "flatPath": "v1/datasets", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [], - "request": { - "$ref": "GoogleCloudAiplatformV1Dataset" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Creates a Dataset." - }, - "get": { - "id": "aiplatform.datasets.get", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the Dataset resource.", - "pattern": "^datasets/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "readMask": { - "description": "Mask specifying which fields to read.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1Dataset" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a Dataset." - }, - "patch": { - "id": "aiplatform.datasets.patch", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "pattern": "^datasets/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1Dataset" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1Dataset" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Updates a Dataset." - }, - "list": { - "id": "aiplatform.datasets.list", - "path": "v1/datasets", - "flatPath": "v1/datasets", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - }, - "filter": { - "description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - }, - "readMask": { - "description": "Mask specifying which fields to read.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - }, - "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [], - "response": { - "$ref": "GoogleCloudAiplatformV1ListDatasetsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists Datasets in a Location." - }, - "delete": { - "id": "aiplatform.datasets.delete", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "pattern": "^datasets/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a Dataset." - } - }, - "resources": { - "datasetVersions": { - "methods": { - "create": { - "id": "aiplatform.datasets.datasetVersions.create", - "path": "v1/{+parent}/datasetVersions", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "pattern": "^datasets/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1DatasetVersion" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Create a version from a Dataset." - }, - "patch": { - "id": "aiplatform.datasets.datasetVersions.patch", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", - "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1DatasetVersion" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1DatasetVersion" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Updates a DatasetVersion." - }, - "delete": { - "id": "aiplatform.datasets.datasetVersions.delete", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", - "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a Dataset version." - }, - "get": { - "id": "aiplatform.datasets.datasetVersions.get", - "path": "v1/{+name}", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", - "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "readMask": { - "description": "Mask specifying which fields to read.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1DatasetVersion" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a Dataset version." - }, - "list": { - "id": "aiplatform.datasets.datasetVersions.list", - "path": "v1/{+parent}/datasetVersions", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", - "pattern": "^datasets/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "filter": { - "description": "Optional. The standard list filter.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The standard list page token.", - "location": "query", - "type": "string" - }, - "readMask": { - "description": "Optional. Mask specifying which fields to read.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - }, - "orderBy": { - "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1ListDatasetVersionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists DatasetVersions in a Dataset." - }, - "restore": { - "id": "aiplatform.datasets.datasetVersions.restore", - "path": "v1/{+name}:restore", - "flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", - "pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Restores a dataset version." - } - } - } - } - }, - "projects": { - "methods": { - "updateCacheConfig": { - "id": "aiplatform.projects.updateCacheConfig", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/cacheConfig", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", - "pattern": "^projects/[^/]+/cacheConfig$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1CacheConfig" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Updates a cache config." - }, - "getCacheConfig": { - "id": "aiplatform.projects.getCacheConfig", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/cacheConfig", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", - "pattern": "^projects/[^/]+/cacheConfig$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1CacheConfig" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a GenAI cache config." + "getCacheConfig": { + "id": "aiplatform.projects.getCacheConfig", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/cacheConfig", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "pattern": "^projects/[^/]+/cacheConfig$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1CacheConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a GenAI cache config." } }, "resources": { @@ -28367,7 +7517,7 @@ "type": "string" }, "extraLocationTypes": { - "description": "Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -28409,6 +7559,34 @@ ], "description": "Gets information about a location." }, + "generateSyntheticData": { + "id": "aiplatform.projects.locations.generateSyntheticData", + "path": "v1/{+location}:generateSyntheticData", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData", + "httpMethod": "POST", + "parameters": { + "location": { + "description": "Required. The resource name of the Location to run the job. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "location" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateSyntheticDataRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateSyntheticDataResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Generates synthetic data based on the provided configuration." + }, "evaluateInstances": { "id": "aiplatform.projects.locations.evaluateInstances", "path": "v1/{+location}:evaluateInstances", @@ -28465,6 +7643,34 @@ ], "description": "Evaluates a dataset based on a set of given metrics." }, + "generateInstanceRubrics": { + "id": "aiplatform.projects.locations.generateInstanceRubrics", + "path": "v1/{+location}:generateInstanceRubrics", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateInstanceRubrics", + "httpMethod": "POST", + "parameters": { + "location": { + "description": "Required. The resource name of the Location to generate rubrics from. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "location" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateInstanceRubricsRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateInstanceRubricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Generates rubrics for a given prompt. A rubric represents a single testable criterion for evaluation. One input prompt could have multiple rubrics This RPC allows users to get suggested rubrics based on provided prompt, which can then be reviewed and used for subsequent evaluations." + }, "deploy": { "id": "aiplatform.projects.locations.deploy", "path": "v1/{+destination}:deploy", @@ -29435,6 +8641,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -29793,6 +9004,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -29948,6 +9164,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -30584,6 +9805,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -30839,6 +10065,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -31361,6 +10592,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -32117,6 +11353,34 @@ "https://www.googleapis.com/auth/cloud-platform" ], "description": "Bidirectional streaming RPC to directly write to feature values in a feature view. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency." + }, + "generateFetchAccessToken": { + "id": "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken", + "path": "v1/{+featureView}:generateFetchAccessToken", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:generateFetchAccessToken", + "httpMethod": "POST", + "parameters": { + "featureView": { + "description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", + "pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "featureView" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "RPC to generate an access token for the given feature view. FeatureViews under the same FeatureOnlineStore share the same access token." } }, "resources": { @@ -32150,6 +11414,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -32353,6 +11622,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -32743,6 +12017,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -33076,6 +12355,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -33176,314 +12460,98 @@ } } }, - "operations": { + "datasets": { "methods": { - "list": { - "id": "aiplatform.projects.locations.operations.list", - "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." - }, - "get": { - "id": "aiplatform.projects.locations.operations.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - "httpMethod": "GET", + "setIamPolicy": { + "id": "aiplatform.projects.locations.datasets.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy", + "httpMethod": "POST", "parameters": { - "name": { - "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "resource" ], - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." - }, - "delete": { - "id": "aiplatform.projects.locations.operations.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" }, - "parameterOrder": [ - "name" - ], "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." }, - "cancel": { - "id": "aiplatform.projects.locations.operations.cancel", - "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "getIamPolicy": { + "id": "aiplatform.projects.locations.datasets.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy", "httpMethod": "POST", "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "location": "path", "required": true, "type": "string" + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "location": "query", + "type": "integer", + "format": "int32" } }, "parameterOrder": [ - "name" + "resource" ], "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleIamV1Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." }, - "wait": { - "id": "aiplatform.projects.locations.operations.wait", - "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", + "testIamPermissions": { + "id": "aiplatform.projects.locations.datasets.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", "httpMethod": "POST", "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "location": "path", "required": true, "type": "string" }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "location": "query", - "type": "string", - "format": "google-duration" + "repeated": true, + "type": "string" } }, "parameterOrder": [ - "name" + "resource" ], "response": { - "$ref": "GoogleLongrunningOperation" + "$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." - } - } - }, - "ragEngineConfig": { - "resources": { - "operations": { - "methods": { - "list": { - "id": "aiplatform.projects.locations.ragEngineConfig.operations.list", - "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig$", - "location": "path", - "required": true, - "type": "string" - }, - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." - }, - "get": { - "id": "aiplatform.projects.locations.ragEngineConfig.operations.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." - }, - "delete": { - "id": "aiplatform.projects.locations.ragEngineConfig.operations.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." - }, - "cancel": { - "id": "aiplatform.projects.locations.ragEngineConfig.operations.cancel", - "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:cancel", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." - }, - "wait": { - "id": "aiplatform.projects.locations.ragEngineConfig.operations.wait", - "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:wait", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - "location": "query", - "type": "string", - "format": "google-duration" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." - } - } - } - } - }, - "datasets": { - "methods": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, "create": { "id": "aiplatform.projects.locations.datasets.create", "path": "v1/{+parent}/datasets", @@ -33839,6 +12907,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -34245,6 +13318,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -34452,6 +13530,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -34688,6 +13771,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -34876,6 +13964,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -35001,6 +14094,322 @@ } } }, + "operations": { + "methods": { + "list": { + "id": "aiplatform.projects.locations.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.projects.locations.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.projects.locations.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.projects.locations.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.projects.locations.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "ragEngineConfig": { + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.projects.locations.ragEngineConfig.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.projects.locations.ragEngineConfig.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.projects.locations.ragEngineConfig.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.projects.locations.ragEngineConfig.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.projects.locations.ragEngineConfig.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragEngineConfig/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragEngineConfig/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } + }, "deploymentResourcePools": { "methods": { "create": { @@ -35219,6 +14628,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -36037,6 +15451,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -36158,6 +15577,175 @@ } } }, + "invoke": { + "methods": { + "invoke": { + "id": "aiplatform.projects.locations.endpoints.invoke.invoke", + "path": "v1/{+endpoint}/invoke/{+invokeId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/invoke/{invokeId}", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "invokeId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint", + "invokeId" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1InvokeRequest" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request." + } + } + }, + "deployedModels": { + "resources": { + "invoke": { + "methods": { + "invoke": { + "id": "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke", + "path": "v1/{+endpoint}/deployedModels/{deployedModelId}/invoke/{+invokeId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/deployedModels/{deployedModelId}/invoke/{invokeId}", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "deployedModelId": { + "description": "ID of the DeployedModel that serves the invoke request.", + "location": "path", + "required": true, + "type": "string" + }, + "invokeId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint", + "deployedModelId", + "invokeId" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1InvokeRequest" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request." + } + } + } + } + }, + "openapi": { + "methods": { + "embeddings": { + "id": "aiplatform.projects.locations.endpoints.openapi.embeddings", + "path": "v1/{+endpoint}/embeddings", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/openapi/embeddings", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/openapi$", + "location": "path", + "required": true, + "type": "string" + }, + "deployedModelId": { + "description": "ID of the DeployedModel that serves the invoke request.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request." + } + } + }, + "google": { + "resources": { + "science": { + "methods": { + "inference": { + "id": "aiplatform.projects.locations.endpoints.google.science.inference", + "path": "v1/{+endpoint}/science/inference", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/google/science/inference", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/google$", + "location": "path", + "required": true, + "type": "string" + }, + "deployedModelId": { + "description": "ID of the DeployedModel that serves the invoke request.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, invoke_route_prefix must be set to allow the paths that will be specified in the request." + } + } + } + } + }, "chat": { "methods": { "completions": { @@ -36193,6 +15781,452 @@ } } }, + "evaluationRuns": { + "methods": { + "create": { + "id": "aiplatform.projects.locations.evaluationRuns.create", + "path": "v1/{+parent}/evaluationRuns", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the Evaluation Run in. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1EvaluationRun" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates an Evaluation Run." + }, + "get": { + "id": "aiplatform.projects.locations.evaluationRuns.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationRun resource. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets an Evaluation Run." + }, + "list": { + "id": "aiplatform.projects.locations.evaluationRuns.list", + "path": "v1/{+parent}/evaluationRuns", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationRuns", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to list the Evaluation Runs. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of Evaluation Runs to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListEvaluationRuns` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. Filter expression that matches a subset of the EvaluationRuns to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListEvaluationRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists Evaluation Runs." + }, + "delete": { + "id": "aiplatform.projects.locations.evaluationRuns.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationRun resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes an Evaluation Run." + }, + "cancel": { + "id": "aiplatform.projects.locations.evaluationRuns.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationRuns/{evaluationRunsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationRun resource to be cancelled. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationRuns/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CancelEvaluationRunRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Cancels an Evaluation Run. Attempts to cancel a running Evaluation Run asynchronously. Status of run can be checked via GetEvaluationRun." + } + } + }, + "evaluationSets": { + "methods": { + "create": { + "id": "aiplatform.projects.locations.evaluationSets.create", + "path": "v1/{+parent}/evaluationSets", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationSets", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the Evaluation Set in. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates an Evaluation Set." + }, + "get": { + "id": "aiplatform.projects.locations.evaluationSets.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationSet resource. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets an Evaluation Set." + }, + "list": { + "id": "aiplatform.projects.locations.evaluationSets.list", + "path": "v1/{+parent}/evaluationSets", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationSets", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to list the Evaluation Sets. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of Evaluation Sets to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListEvaluationSets` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. Filter expression that matches a subset of the EvaluationSets to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListEvaluationSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists Evaluation Sets." + }, + "delete": { + "id": "aiplatform.projects.locations.evaluationSets.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationSet resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes an Evaluation Set." + }, + "patch": { + "id": "aiplatform.projects.locations.evaluationSets.patch", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationSets/{evaluationSetsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationSets/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates an Evaluation Set." + } + } + }, + "evaluationItems": { + "methods": { + "create": { + "id": "aiplatform.projects.locations.evaluationItems.create", + "path": "v1/{+parent}/evaluationItems", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationItems", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the Evaluation Item in. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1EvaluationItem" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates an Evaluation Item." + }, + "get": { + "id": "aiplatform.projects.locations.evaluationItems.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationItem resource. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1EvaluationItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets an Evaluation Item." + }, + "list": { + "id": "aiplatform.projects.locations.evaluationItems.list", + "path": "v1/{+parent}/evaluationItems", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationItems", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to list the Evaluation Items. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of Evaluation Items to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListEvaluationItems` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. Filter expression that matches a subset of the EvaluationItems to show. For field names both snake_case and camelCase are supported. For more information about filter syntax, see [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListEvaluationItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists Evaluation Items." + }, + "delete": { + "id": "aiplatform.projects.locations.evaluationItems.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/evaluationItems/{evaluationItemsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the EvaluationItem resource to be deleted. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationItems/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes an Evaluation Item." + } + } + }, "cachedContents": { "methods": { "create": { @@ -36529,6 +16563,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -36870,6 +16909,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -37326,6 +17370,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -37636,6 +17685,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -37951,6 +18005,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -38261,6 +18320,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -39043,6 +19107,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -39402,6 +19471,35 @@ ], "description": "Generate content with multimodal inputs with streaming support." }, + "embedContent": { + "id": "aiplatform.projects.locations.publishers.models.embedContent", + "path": "v1/{+model}:embedContent", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:embedContent", + "httpMethod": "POST", + "parameters": { + "model": { + "description": "Required. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", + "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "model" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1EmbedContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1EmbedContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Embed content with multimodal inputs." + }, "countTokens": { "id": "aiplatform.projects.locations.publishers.models.countTokens", "path": "v1/{+endpoint}:countTokens", @@ -39536,7 +19634,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", + "description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "location": "query", "type": "integer", "format": "int32" @@ -39621,6 +19719,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -39816,7 +19919,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", + "description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "location": "query", "type": "integer", "format": "int32" @@ -40013,6 +20116,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -40210,7 +20318,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", + "description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "location": "query", "type": "integer", "format": "int32" @@ -40485,6 +20593,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -40682,7 +20795,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", + "description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "location": "query", "type": "integer", "format": "int32" @@ -40896,6 +21009,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -41093,7 +21211,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", + "description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-100, inclusive. Defaults to 100.", "location": "query", "type": "integer", "format": "int32" @@ -41214,6 +21332,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -41585,6 +21708,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -41901,6 +22029,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -42239,6 +22372,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -42549,6 +22687,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -42925,6 +23068,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -43296,6 +23444,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -43667,6 +23820,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -43983,6 +24141,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -44387,6 +24550,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -44769,6 +24937,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -45151,6 +25324,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -45574,6 +25752,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -45695,7 +25878,755 @@ } } } - } + } + } + } + } + } + } + } + }, + "studies": { + "methods": { + "create": { + "id": "aiplatform.projects.locations.studies.create", + "path": "v1/{+parent}/studies", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1Study" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Study" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates a Study. A resource name will be generated after creation of the Study." + }, + "get": { + "id": "aiplatform.projects.locations.studies.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1Study" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a Study by name." + }, + "list": { + "id": "aiplatform.projects.locations.studies.list", + "path": "v1/{+parent}/studies", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListStudiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists all the studies in a region for an associated project." + }, + "delete": { + "id": "aiplatform.projects.locations.studies.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a Study." + }, + "lookup": { + "id": "aiplatform.projects.locations.studies.lookup", + "path": "v1/{+parent}/studies:lookup", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies:lookup", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1LookupStudyRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Study" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name." + } + }, + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.projects.locations.studies.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.projects.locations.studies.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.projects.locations.studies.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.projects.locations.studies.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.projects.locations.studies.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "trials": { + "methods": { + "suggest": { + "id": "aiplatform.projects.locations.studies.trials.suggest", + "path": "v1/{+parent}/trials:suggest", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1SuggestTrialsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse." + }, + "create": { + "id": "aiplatform.projects.locations.studies.trials.create", + "path": "v1/{+parent}/trials", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Adds a user provided Trial to a Study." + }, + "get": { + "id": "aiplatform.projects.locations.studies.trials.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a Trial." + }, + "list": { + "id": "aiplatform.projects.locations.studies.trials.list", + "path": "v1/{+parent}/trials", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ListTrialsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists the Trials associated with a Study." + }, + "addTrialMeasurement": { + "id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", + "path": "v1/{+trialName}:addTrialMeasurement", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", + "httpMethod": "POST", + "parameters": { + "trialName": { + "description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "trialName" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1AddTrialMeasurementRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete." + }, + "complete": { + "id": "aiplatform.projects.locations.studies.trials.complete", + "path": "v1/{+name}:complete", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CompleteTrialRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Marks a Trial as complete." + }, + "delete": { + "id": "aiplatform.projects.locations.studies.trials.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a Trial." + }, + "checkTrialEarlyStoppingState": { + "id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", + "path": "v1/{+trialName}:checkTrialEarlyStoppingState", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", + "httpMethod": "POST", + "parameters": { + "trialName": { + "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "trialName" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse." + }, + "stop": { + "id": "aiplatform.projects.locations.studies.trials.stop", + "path": "v1/{+name}:stop", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1StopTrialRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Stops a Trial." + }, + "listOptimalTrials": { + "id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", + "path": "v1/{+parent}/trials:listOptimalTrials", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the Study that the optimal Trial belongs to.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency" + } + }, + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.projects.locations.studies.trials.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.projects.locations.studies.trials.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.projects.locations.studies.trials.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.projects.locations.studies.trials.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.projects.locations.studies.trials.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." } } } @@ -45703,16 +26634,16 @@ } } }, - "studies": { + "ragCorpora": { "methods": { "create": { - "id": "aiplatform.projects.locations.studies.create", - "path": "v1/{+parent}/studies", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", + "id": "aiplatform.projects.locations.ragCorpora.create", + "path": "v1/{+parent}/ragCorpora", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "POST", "parameters": { "parent": { - "description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", + "description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path", "required": true, @@ -45723,25 +26654,53 @@ "parent" ], "request": { - "$ref": "GoogleCloudAiplatformV1Study" + "$ref": "GoogleCloudAiplatformV1RagCorpus" }, "response": { - "$ref": "GoogleCloudAiplatformV1Study" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Creates a Study. A resource name will be generated after creation of the Study." + "description": "Creates a RagCorpus." + }, + "patch": { + "id": "aiplatform.projects.locations.ragCorpora.patch", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Output only. The resource name of the RagCorpus.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1RagCorpus" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates a RagCorpus." }, "get": { - "id": "aiplatform.projects.locations.studies.get", + "id": "aiplatform.projects.locations.ragCorpora.get", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "GET", "parameters": { "name": { - "description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "location": "path", "required": true, "type": "string" @@ -45751,115 +26710,92 @@ "name" ], "response": { - "$ref": "GoogleCloudAiplatformV1Study" + "$ref": "GoogleCloudAiplatformV1RagCorpus" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Gets a Study by name." + "description": "Gets a RagCorpus." }, "list": { - "id": "aiplatform.projects.locations.studies.list", - "path": "v1/{+parent}/studies", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", + "id": "aiplatform.projects.locations.ragCorpora.list", + "path": "v1/{+parent}/ragCorpora", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "GET", "parameters": { "parent": { - "description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", + "description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path", "required": true, "type": "string" }, - "pageToken": { - "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", - "location": "query", - "type": "string" - }, "pageSize": { - "description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", + "description": "Optional. The standard list page size.", "location": "query", "type": "integer", "format": "int32" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", + "location": "query", + "type": "string" } }, "parameterOrder": [ "parent" ], "response": { - "$ref": "GoogleCloudAiplatformV1ListStudiesResponse" + "$ref": "GoogleCloudAiplatformV1ListRagCorporaResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Lists all the studies in a region for an associated project." + "description": "Lists RagCorpora in a Location." }, "delete": { - "id": "aiplatform.projects.locations.studies.delete", + "id": "aiplatform.projects.locations.ragCorpora.delete", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "DELETE", "parameters": { "name": { - "description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "location": "path", "required": true, "type": "string" + }, + "force": { + "description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ "name" ], "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a Study." - }, - "lookup": { - "id": "aiplatform.projects.locations.studies.lookup", - "path": "v1/{+parent}/studies:lookup", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies:lookup", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1LookupStudyRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1Study" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name." + "description": "Deletes a RagCorpus." } }, "resources": { "operations": { "methods": { "list": { - "id": "aiplatform.projects.locations.studies.operations.list", + "id": "aiplatform.projects.locations.ragCorpora.operations.list", "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", "httpMethod": "GET", "parameters": { "name": { "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "location": "path", "required": true, "type": "string" @@ -45879,6 +26815,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -45893,14 +26834,14 @@ "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." }, "get": { - "id": "aiplatform.projects.locations.studies.operations.get", + "id": "aiplatform.projects.locations.ragCorpora.operations.get", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", "httpMethod": "GET", "parameters": { "name": { "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -45918,244 +26859,39 @@ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." }, "delete": { - "id": "aiplatform.projects.locations.studies.operations.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." - }, - "cancel": { - "id": "aiplatform.projects.locations.studies.operations.cancel", - "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." - }, - "wait": { - "id": "aiplatform.projects.locations.studies.operations.wait", - "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - "location": "query", - "type": "string", - "format": "google-duration" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." - } - } - }, - "trials": { - "methods": { - "suggest": { - "id": "aiplatform.projects.locations.studies.trials.suggest", - "path": "v1/{+parent}/trials:suggest", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1SuggestTrialsRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse." - }, - "create": { - "id": "aiplatform.projects.locations.studies.trials.create", - "path": "v1/{+parent}/trials", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1Trial" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1Trial" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Adds a user provided Trial to a Study." - }, - "get": { - "id": "aiplatform.projects.locations.studies.trials.get", + "id": "aiplatform.projects.locations.ragCorpora.operations.delete", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1Trial" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a Trial." - }, - "list": { - "id": "aiplatform.projects.locations.studies.trials.list", - "path": "v1/{+parent}/trials", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1ListTrialsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists the Trials associated with a Study." - }, - "addTrialMeasurement": { - "id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", - "path": "v1/{+trialName}:addTrialMeasurement", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", - "httpMethod": "POST", - "parameters": { - "trialName": { - "description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ - "trialName" + "name" ], - "request": { - "$ref": "GoogleCloudAiplatformV1AddTrialMeasurementRequest" - }, "response": { - "$ref": "GoogleCloudAiplatformV1Trial" + "$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete." + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." }, - "complete": { - "id": "aiplatform.projects.locations.studies.trials.complete", - "path": "v1/{+name}:complete", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", + "cancel": { + "id": "aiplatform.projects.locations.ragCorpora.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", "httpMethod": "POST", "parameters": { "name": { - "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "description": "The name of the operation resource to be cancelled.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46164,61 +26900,68 @@ "parameterOrder": [ "name" ], - "request": { - "$ref": "GoogleCloudAiplatformV1CompleteTrialRequest" - }, "response": { - "$ref": "GoogleCloudAiplatformV1Trial" + "$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Marks a Trial as complete." + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." }, - "delete": { - "id": "aiplatform.projects.locations.studies.trials.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", - "httpMethod": "DELETE", + "wait": { + "id": "aiplatform.projects.locations.ragCorpora.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", + "httpMethod": "POST", "parameters": { "name": { - "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "description": "The name of the operation resource to wait on.", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" } }, "parameterOrder": [ "name" ], "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Deletes a Trial." - }, - "checkTrialEarlyStoppingState": { - "id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", - "path": "v1/{+trialName}:checkTrialEarlyStoppingState", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "ragFiles": { + "methods": { + "import": { + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", + "path": "v1/{+parent}/ragFiles:import", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", "httpMethod": "POST", "parameters": { - "trialName": { - "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "parent": { + "description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ - "trialName" + "parent" ], "request": { - "$ref": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest" + "$ref": "GoogleCloudAiplatformV1ImportRagFilesRequest" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -46226,17 +26969,17 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse." + "description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus." }, - "stop": { - "id": "aiplatform.projects.locations.studies.trials.stop", - "path": "v1/{+name}:stop", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", - "httpMethod": "POST", + "get": { + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "GET", "parameters": { "name": { - "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46245,58 +26988,93 @@ "parameterOrder": [ "name" ], - "request": { - "$ref": "GoogleCloudAiplatformV1StopTrialRequest" - }, "response": { - "$ref": "GoogleCloudAiplatformV1Trial" + "$ref": "GoogleCloudAiplatformV1RagFile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Stops a Trial." + "description": "Gets a RagFile." }, - "listOptimalTrials": { - "id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", - "path": "v1/{+parent}/trials:listOptimalTrials", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", - "httpMethod": "POST", + "list": { + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", + "path": "v1/{+parent}/ragFiles", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", + "httpMethod": "GET", "parameters": { "parent": { - "description": "Required. The name of the Study that the optimal Trial belongs to.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", + "description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "location": "path", "required": true, "type": "string" + }, + "pageSize": { + "description": "Optional. The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", + "location": "query", + "type": "string" } }, "parameterOrder": [ "parent" ], - "request": { - "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsRequest" + "response": { + "$ref": "GoogleCloudAiplatformV1ListRagFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists RagFiles in a RagCorpus." + }, + "delete": { + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "forceDelete": { + "description": "Optional. If set to true, any errors generated by external vector database during the deletion will be ignored. The default value is false.", + "location": "query", + "type": "boolean" + } }, + "parameterOrder": [ + "name" + ], "response": { - "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsResponse" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "description": "Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency" + "description": "Deletes a RagFile." } }, "resources": { "operations": { "methods": { "list": { - "id": "aiplatform.projects.locations.studies.trials.operations.list", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", "httpMethod": "GET", "parameters": { "name": { "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46316,6 +27094,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -46330,14 +27113,14 @@ "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." }, "get": { - "id": "aiplatform.projects.locations.studies.trials.operations.get", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", "httpMethod": "GET", "parameters": { "name": { "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46355,14 +27138,14 @@ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." }, "delete": { - "id": "aiplatform.projects.locations.studies.trials.operations.delete", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", "httpMethod": "DELETE", "parameters": { "name": { "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46380,14 +27163,14 @@ "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." }, "cancel": { - "id": "aiplatform.projects.locations.studies.trials.operations.cancel", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "parameters": { "name": { "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46405,14 +27188,14 @@ "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." }, "wait": { - "id": "aiplatform.projects.locations.studies.trials.operations.wait", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", "httpMethod": "POST", "parameters": { "name": { "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", "location": "path", "required": true, "type": "string" @@ -46439,1446 +27222,31499 @@ } } } - } + } + } + } + } + } + }, + "batchPredictionJobs": { + "methods": { + "create": { + "id": "aiplatform.batchPredictionJobs.create", + "path": "v1/batchPredictionJobs", + "flatPath": "v1/batchPredictionJobs", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [], + "request": { + "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start." + }, + "get": { + "id": "aiplatform.batchPredictionJobs.get", + "path": "v1/{+name}", + "flatPath": "v1/batchPredictionJobs/{batchPredictionJobsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", + "pattern": "^batchPredictionJobs/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a BatchPredictionJob" + }, + "list": { + "id": "aiplatform.batchPredictionJobs.list", + "path": "v1/batchPredictionJobs", + "flatPath": "v1/batchPredictionJobs", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + }, + "filter": { + "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Mask specifying which fields to read.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [], + "response": { + "$ref": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists BatchPredictionJobs in a Location." + } + } + }, + "endpoints": { + "methods": { + "predict": { + "id": "aiplatform.endpoints.predict", + "path": "v1/{+endpoint}:predict", + "flatPath": "v1/endpoints/{endpointsId}:predict", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1PredictRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1PredictResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Perform an online prediction." + }, + "predictLongRunning": { + "id": "aiplatform.endpoints.predictLongRunning", + "path": "v1/{+endpoint}:predictLongRunning", + "flatPath": "v1/endpoints/{endpointsId}:predictLongRunning", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "" + }, + "fetchPredictOperation": { + "id": "aiplatform.endpoints.fetchPredictOperation", + "path": "v1/{+endpoint}:fetchPredictOperation", + "flatPath": "v1/endpoints/{endpointsId}:fetchPredictOperation", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Fetch an asynchronous online prediction operation." + }, + "generateContent": { + "id": "aiplatform.endpoints.generateContent", + "path": "v1/{+model}:generateContent", + "flatPath": "v1/endpoints/{endpointsId}:generateContent", + "httpMethod": "POST", + "parameters": { + "model": { + "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "model" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Generate content with multimodal inputs." + }, + "streamGenerateContent": { + "id": "aiplatform.endpoints.streamGenerateContent", + "path": "v1/{+model}:streamGenerateContent", + "flatPath": "v1/endpoints/{endpointsId}:streamGenerateContent", + "httpMethod": "POST", + "parameters": { + "model": { + "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "model" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Generate content with multimodal inputs with streaming support." + }, + "countTokens": { + "id": "aiplatform.endpoints.countTokens", + "path": "v1/{+endpoint}:countTokens", + "flatPath": "v1/endpoints/{endpointsId}:countTokens", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CountTokensRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1CountTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Perform a token counting." + }, + "computeTokens": { + "id": "aiplatform.endpoints.computeTokens", + "path": "v1/{+endpoint}:computeTokens", + "flatPath": "v1/endpoints/{endpointsId}:computeTokens", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Return a list of tokens based on the input text." + } + }, + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.endpoints.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/endpoints/{endpointsId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." }, - "ragCorpora": { - "methods": { - "create": { - "id": "aiplatform.projects.locations.ragCorpora.create", - "path": "v1/{+parent}/ragCorpora", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1RagCorpus" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Creates a RagCorpus." - }, - "patch": { - "id": "aiplatform.projects.locations.ragCorpora.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Output only. The resource name of the RagCorpus.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1RagCorpus" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Updates a RagCorpus." + "get": { + "id": "aiplatform.endpoints.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/endpoints/{endpointsId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^endpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.endpoints.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/endpoints/{endpointsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^endpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.endpoints.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/endpoints/{endpointsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^endpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.endpoints.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/endpoints/{endpointsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^endpoints/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" }, - "get": { - "id": "aiplatform.projects.locations.ragCorpora.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1RagCorpus" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a RagCorpus." + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + }, + "chat": { + "methods": { + "completions": { + "id": "aiplatform.endpoints.chat.completions", + "path": "v1/{+endpoint}/chat/completions", + "flatPath": "v1/endpoints/{endpointsId}/chat/completions", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^endpoints/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Exposes an OpenAI-compatible endpoint for chat completions." + } + } + } + } + }, + "publishers": { + "resources": { + "models": { + "methods": { + "predict": { + "id": "aiplatform.publishers.models.predict", + "path": "v1/{+endpoint}:predict", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:predict", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1PredictRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1PredictResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Perform an online prediction." + }, + "predictLongRunning": { + "id": "aiplatform.publishers.models.predictLongRunning", + "path": "v1/{+endpoint}:predictLongRunning", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:predictLongRunning", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "" + }, + "fetchPredictOperation": { + "id": "aiplatform.publishers.models.fetchPredictOperation", + "path": "v1/{+endpoint}:fetchPredictOperation", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Fetch an asynchronous online prediction operation." + }, + "generateContent": { + "id": "aiplatform.publishers.models.generateContent", + "path": "v1/{+model}:generateContent", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:generateContent", + "httpMethod": "POST", + "parameters": { + "model": { + "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "model" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Generate content with multimodal inputs." + }, + "streamGenerateContent": { + "id": "aiplatform.publishers.models.streamGenerateContent", + "path": "v1/{+model}:streamGenerateContent", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", + "httpMethod": "POST", + "parameters": { + "model": { + "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "model" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "description": "Generate content with multimodal inputs with streaming support." + }, + "countTokens": { + "id": "aiplatform.publishers.models.countTokens", + "path": "v1/{+endpoint}:countTokens", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:countTokens", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1CountTokensRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1CountTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Perform a token counting." + }, + "computeTokens": { + "id": "aiplatform.publishers.models.computeTokens", + "path": "v1/{+endpoint}:computeTokens", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:computeTokens", + "httpMethod": "POST", + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "endpoint" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Return a list of tokens based on the input text." + }, + "get": { + "id": "aiplatform.publishers.models.get", + "path": "v1/{+name}", + "flatPath": "v1/publishers/{publishersId}/models/{modelsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", + "pattern": "^publishers/[^/]+/models/[^/]+$", + "location": "path", + "required": true, + "type": "string" }, - "list": { - "id": "aiplatform.projects.locations.ragCorpora.list", - "path": "v1/{+parent}/ragCorpora", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1ListRagCorporaResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists RagCorpora in a Location." + "languageCode": { + "description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in.", + "location": "query", + "type": "string" }, - "delete": { - "id": "aiplatform.projects.locations.ragCorpora.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "force": { - "description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", - "location": "query", - "type": "boolean" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "view": { + "description": "Optional. PublisherModel view specifying which fields to read.", + "location": "query", + "type": "string", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include basic metadata about the publisher model, but not the full contents.", + "Include everything.", + "Include: VersionId, ModelVersionExternalName, and SupportedActions." ], - "description": "Deletes a RagCorpus." + "enum": [ + "PUBLISHER_MODEL_VIEW_UNSPECIFIED", + "PUBLISHER_MODEL_VIEW_BASIC", + "PUBLISHER_MODEL_VIEW_FULL", + "PUBLISHER_MODEL_VERSION_VIEW_BASIC" + ] + }, + "isHuggingFaceModel": { + "description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", + "location": "query", + "type": "boolean" + }, + "huggingFaceToken": { + "description": "Optional. Token used to access Hugging Face gated models.", + "location": "query", + "type": "string" } }, - "resources": { - "operations": { - "methods": { - "list": { - "id": "aiplatform.projects.locations.ragCorpora.operations.list", - "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." - }, - "get": { - "id": "aiplatform.projects.locations.ragCorpora.operations.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." - }, - "delete": { - "id": "aiplatform.projects.locations.ragCorpora.operations.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." - }, - "cancel": { - "id": "aiplatform.projects.locations.ragCorpora.operations.cancel", - "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." - }, - "wait": { - "id": "aiplatform.projects.locations.ragCorpora.operations.wait", - "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - "location": "query", - "type": "string", - "format": "google-duration" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." - } - } - }, - "ragFiles": { - "methods": { - "import": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", - "path": "v1/{+parent}/ragFiles:import", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1ImportRagFilesRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus." - }, - "get": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1RagFile" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a RagFile." - }, - "list": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", - "path": "v1/{+parent}/ragFiles", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1ListRagFilesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists RagFiles in a RagCorpus." - }, - "delete": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a RagFile." - } - }, - "resources": { - "operations": { - "methods": { - "list": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", - "path": "v1/{+name}/operations", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation's parent resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." - }, - "get": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation resource.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." - }, - "delete": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." - }, - "cancel": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", - "path": "v1/{+name}:cancel", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." - }, - "wait": { - "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", - "path": "v1/{+name}:wait", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - "location": "query", - "type": "string", - "format": "google-duration" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." - } - } - } - } + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1PublisherModel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a Model Garden publisher model." + } + } + } + } + }, + "reasoningEngines": { + "methods": { + "query": { + "id": "aiplatform.reasoningEngines.query", + "path": "v1/{+name}:query", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}:query", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Queries using a reasoning engine." + }, + "streamQuery": { + "id": "aiplatform.reasoningEngines.streamQuery", + "path": "v1/{+name}:streamQuery", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}:streamQuery", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Streams queries using a reasoning engine." + }, + "create": { + "id": "aiplatform.reasoningEngines.create", + "path": "v1/reasoningEngines", + "flatPath": "v1/reasoningEngines", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [], + "request": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Creates a reasoning engine." + }, + "get": { + "id": "aiplatform.reasoningEngines.get", + "path": "v1/{+name}", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets a reasoning engine." + }, + "list": { + "id": "aiplatform.reasoningEngines.list", + "path": "v1/reasoningEngines", + "flatPath": "v1/reasoningEngines", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The standard list page token.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [], + "response": { + "$ref": "GoogleCloudAiplatformV1ListReasoningEnginesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists reasoning engines in a location." + }, + "patch": { + "id": "aiplatform.reasoningEngines.patch", + "path": "v1/{+name}", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask specifying which fields to update.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Updates a reasoning engine." + }, + "delete": { + "id": "aiplatform.reasoningEngines.delete", + "path": "v1/{+name}", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "force": { + "description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a reasoning engine." + } + }, + "resources": { + "operations": { + "methods": { + "list": { + "id": "aiplatform.reasoningEngines.operations.list", + "path": "v1/{+name}/operations", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}/operations", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "pattern": "^reasoningEngines/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`." + }, + "get": { + "id": "aiplatform.reasoningEngines.operations.get", + "path": "v1/{+name}", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "delete": { + "id": "aiplatform.reasoningEngines.operations.delete", + "path": "v1/{+name}", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`." + }, + "cancel": { + "id": "aiplatform.reasoningEngines.operations.cancel", + "path": "v1/{+name}:cancel", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`." + }, + "wait": { + "id": "aiplatform.reasoningEngines.operations.wait", + "path": "v1/{+name}:wait", + "flatPath": "v1/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "pattern": "^reasoningEngines/[^/]+/operations/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "location": "query", + "type": "string", + "format": "google-duration" } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done." + } + } + } + } + }, + "media": { + "methods": { + "upload": { + "id": "aiplatform.media.upload", + "path": "v1/{+parent}/ragFiles:upload", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "supportsMediaUpload": true, + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+parent}/ragFiles:upload" } } + }, + "request": { + "$ref": "GoogleCloudAiplatformV1UploadRagFileRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1UploadRagFileResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "description": "Upload a file into a RagCorpus." + } + } + } + }, + "servicePath": "", + "documentationLink": "https://cloud.google.com/vertex-ai/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud services and see the email address of your Google Account" + } + } + } + }, + "revision": "20251114", + "title": "Vertex AI API", + "version": "v1", + "discoveryVersion": "v1", + "basePath": "", + "canonicalName": "Aiplatform", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "schemas": { + "GoogleCloudLocationListLocationsResponse": { + "id": "GoogleCloudLocationListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudLocationLocation" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudLocationLocation": { + "id": "GoogleCloudLocationLocation", + "description": "A resource that represents a Google Cloud location.", + "type": "object", + "properties": { + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "metadata": { + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + }, + "GoogleIamV1SetIamPolicyRequest": { + "id": "GoogleIamV1SetIamPolicyRequest", + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", + "$ref": "GoogleIamV1Policy" + } + } + }, + "GoogleIamV1Policy": { + "id": "GoogleIamV1Policy", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "type": "object", + "properties": { + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "type": "integer", + "format": "int32" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "type": "array", + "items": { + "$ref": "GoogleIamV1Binding" + } + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleIamV1Binding": { + "id": "GoogleIamV1Binding", + "description": "Associates `members`, or principals, with a `role`.", + "type": "object", + "properties": { + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "type": "array", + "items": { + "type": "string" + } + }, + "condition": { + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "$ref": "GoogleTypeExpr" + } + } + }, + "GoogleTypeExpr": { + "id": "GoogleTypeExpr", + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "type": "object", + "properties": { + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + } + } + }, + "GoogleIamV1TestIamPermissionsResponse": { + "id": "GoogleIamV1TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleLongrunningListOperationsResponse": { + "id": "GoogleLongrunningListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleLongrunningOperation" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleLongrunningOperation": { + "id": "GoogleLongrunningOperation", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "GoogleRpcStatus" + }, + "response": { + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + }, + "GoogleRpcStatus": { + "id": "GoogleRpcStatus", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + } + }, + "GoogleProtobufEmpty": { + "id": "GoogleProtobufEmpty", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1GenerateSyntheticDataRequest": { + "id": "GoogleCloudAiplatformV1GenerateSyntheticDataRequest", + "description": "Request message for DataFoundryService.GenerateSyntheticData.", + "type": "object", + "properties": { + "taskDescription": { + "description": "Generate data from a high-level task description.", + "$ref": "GoogleCloudAiplatformV1TaskDescriptionStrategy" + }, + "count": { + "description": "Required. The number of synthetic examples to generate. For this stateless API, the count is limited to a small number.", + "type": "integer", + "format": "int32" + }, + "outputFieldSpecs": { + "description": "Required. The schema of the desired output, defined by a list of fields.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1OutputFieldSpec" + } + }, + "examples": { + "description": "Optional. A list of few-shot examples to guide the model's output style and format.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SyntheticExample" + } + } + } + }, + "GoogleCloudAiplatformV1TaskDescriptionStrategy": { + "id": "GoogleCloudAiplatformV1TaskDescriptionStrategy", + "description": "Defines a generation strategy based on a high-level task description.", + "type": "object", + "properties": { + "taskDescription": { + "description": "Required. A high-level description of the synthetic data to be generated.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1OutputFieldSpec": { + "id": "GoogleCloudAiplatformV1OutputFieldSpec", + "description": "Defines a specification for a single output field.", + "type": "object", + "properties": { + "fieldName": { + "description": "Required. The name of the output field.", + "type": "string" + }, + "guidance": { + "description": "Optional. Optional, but recommended. Additional guidance specific to this field to provide targeted instructions for the LLM to generate the content of a single output field. While the LLM can sometimes infer content from the field name, providing explicit guidance is preferred.", + "type": "string" + }, + "fieldType": { + "description": "Optional. The data type of the field. Defaults to CONTENT if not set.", + "type": "string", + "enumDescriptions": [ + "Field type is unspecified.", + "Arbitrary content field type.", + "Text field type.", + "Image field type.", + "Audio field type." + ], + "enum": [ + "FIELD_TYPE_UNSPECIFIED", + "CONTENT", + "TEXT", + "IMAGE", + "AUDIO" + ] + } + } + }, + "GoogleCloudAiplatformV1SyntheticExample": { + "id": "GoogleCloudAiplatformV1SyntheticExample", + "description": "Represents a single synthetic example, composed of multiple fields. Used for providing few-shot examples in the request and for returning generated examples in the response.", + "type": "object", + "properties": { + "fields": { + "description": "Required. A list of fields that constitute an example.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SyntheticField" + } + } + } + }, + "GoogleCloudAiplatformV1SyntheticField": { + "id": "GoogleCloudAiplatformV1SyntheticField", + "description": "Represents a single named field within a SyntheticExample.", + "type": "object", + "properties": { + "fieldName": { + "description": "Optional. The name of the field.", + "type": "string" + }, + "content": { + "description": "Required. The content of the field.", + "$ref": "GoogleCloudAiplatformV1Content" + } + } + }, + "GoogleCloudAiplatformV1Content": { + "id": "GoogleCloudAiplatformV1Content", + "description": "The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.", + "type": "object", + "properties": { + "role": { + "description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.", + "type": "string" + }, + "parts": { + "description": "Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Part" + } + } + } + }, + "GoogleCloudAiplatformV1Part": { + "id": "GoogleCloudAiplatformV1Part", + "description": "A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", + "type": "object", + "properties": { + "text": { + "description": "Optional. The text content of the part.", + "type": "string" + }, + "inlineData": { + "description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.", + "$ref": "GoogleCloudAiplatformV1Blob" + }, + "fileData": { + "description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.", + "$ref": "GoogleCloudAiplatformV1FileData" + }, + "functionCall": { + "description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.", + "$ref": "GoogleCloudAiplatformV1FunctionCall" + }, + "functionResponse": { + "description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.", + "$ref": "GoogleCloudAiplatformV1FunctionResponse" + }, + "executableCode": { + "description": "Optional. Code generated by the model that is intended to be executed.", + "$ref": "GoogleCloudAiplatformV1ExecutableCode" + }, + "codeExecutionResult": { + "description": "Optional. The result of executing the ExecutableCode.", + "$ref": "GoogleCloudAiplatformV1CodeExecutionResult" + }, + "videoMetadata": { + "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.", + "$ref": "GoogleCloudAiplatformV1VideoMetadata" + }, + "thought": { + "description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning.", + "type": "boolean" + }, + "thoughtSignature": { + "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1Blob": { + "id": "GoogleCloudAiplatformV1Blob", + "description": "A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video.", + "type": "object", + "properties": { + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + }, + "data": { + "description": "Required. The raw bytes of the data.", + "type": "string", + "format": "byte" + }, + "displayName": { + "description": "Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FileData": { + "id": "GoogleCloudAiplatformV1FileData", + "description": "URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage.", + "type": "object", + "properties": { + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + }, + "fileUri": { + "description": "Required. The URI of the file in Google Cloud Storage.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FunctionCall": { + "id": "GoogleCloudAiplatformV1FunctionCall", + "description": "A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing the parameters and their values.", + "type": "object", + "properties": { + "name": { + "description": "Optional. The name of the function to call. Matches [FunctionDeclaration.name].", + "type": "string" + }, + "args": { + "description": "Optional. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1FunctionResponse": { + "id": "GoogleCloudAiplatformV1FunctionResponse", + "description": "The result output from a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall] made based on model prediction.", + "type": "object", + "properties": { + "name": { + "description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].", + "type": "string" + }, + "response": { + "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "parts": { + "description": "Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FunctionResponsePart" + } + } + } + }, + "GoogleCloudAiplatformV1FunctionResponsePart": { + "id": "GoogleCloudAiplatformV1FunctionResponsePart", + "description": "A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.", + "type": "object", + "properties": { + "inlineData": { + "description": "Inline media bytes.", + "$ref": "GoogleCloudAiplatformV1FunctionResponseBlob" + }, + "fileData": { + "description": "URI based data.", + "$ref": "GoogleCloudAiplatformV1FunctionResponseFileData" + } + } + }, + "GoogleCloudAiplatformV1FunctionResponseBlob": { + "id": "GoogleCloudAiplatformV1FunctionResponseBlob", + "description": "Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field.", + "type": "object", + "properties": { + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + }, + "data": { + "description": "Required. Raw bytes.", + "type": "string", + "format": "byte" + }, + "displayName": { + "description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FunctionResponseFileData": { + "id": "GoogleCloudAiplatformV1FunctionResponseFileData", + "description": "URI based data for function response.", + "type": "object", + "properties": { + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + }, + "fileUri": { + "description": "Required. URI.", + "type": "string" + }, + "displayName": { + "description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExecutableCode": { + "id": "GoogleCloudAiplatformV1ExecutableCode", + "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [CodeExecution] tool, in which the code will be automatically executed, and a corresponding [CodeExecutionResult] will also be generated.", + "type": "object", + "properties": { + "language": { + "description": "Required. Programming language of the `code`.", + "type": "string", + "enumDescriptions": [ + "Unspecified language. This value should not be used.", + "Python \u003e= 3.10, with numpy and simpy available." + ], + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ] + }, + "code": { + "description": "Required. The code to be executed.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CodeExecutionResult": { + "id": "GoogleCloudAiplatformV1CodeExecutionResult", + "description": "Result of executing the [ExecutableCode]. Only generated when using the [CodeExecution] tool, and always follows a `part` containing the [ExecutableCode].", + "type": "object", + "properties": { + "outcome": { + "description": "Required. Outcome of the code execution.", + "type": "string", + "enumDescriptions": [ + "Unspecified status. This value should not be used.", + "Code execution completed successfully.", + "Code execution finished but with a failure. `stderr` should contain the reason.", + "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." + ], + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ] + }, + "output": { + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1VideoMetadata": { + "id": "GoogleCloudAiplatformV1VideoMetadata", + "description": "Provides metadata for a video, including the start and end offsets for clipping and the frame rate.", + "type": "object", + "properties": { + "startOffset": { + "description": "Optional. The start offset of the video.", + "type": "string", + "format": "google-duration" + }, + "endOffset": { + "description": "Optional. The end offset of the video.", + "type": "string", + "format": "google-duration" + }, + "fps": { + "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1GenerateSyntheticDataResponse": { + "id": "GoogleCloudAiplatformV1GenerateSyntheticDataResponse", + "description": "The response containing the generated data.", + "type": "object", + "properties": { + "syntheticExamples": { + "description": "A list of generated synthetic examples.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SyntheticExample" + } + } + } + }, + "GoogleCloudAiplatformV1Dataset": { + "id": "GoogleCloudAiplatformV1Dataset", + "description": "A collection of DataItems and Annotations on them.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the Dataset.", + "type": "string" + }, + "metadataSchemaUri": { + "description": "Required. Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.", + "type": "string" + }, + "metadata": { + "description": "Required. Additional information about the Dataset.", + "type": "any" + }, + "dataItemCount": { + "description": "Output only. The number of DataItems in this Dataset. Only apply for non-structured Dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "createTime": { + "description": "Output only. Timestamp when this Dataset was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Dataset was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "savedQueries": { + "description": "All SavedQueries belong to the Dataset will be returned in List/Get Dataset response. The annotation_specs field will not be populated except for UI cases which will only use annotation_spec_count. In CreateDataset request, a SavedQuery is created together if this field is set, up to one SavedQuery can be set in CreateDatasetRequest. The SavedQuery should not contain any AnnotationSpec.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SavedQuery" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "metadataArtifact": { + "description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Dataset. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", + "readOnly": true, + "type": "string" + }, + "modelReference": { + "description": "Optional. Reference to the public base model last used by the dataset. Only set for prompt datasets.", + "type": "string" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SavedQuery": { + "id": "GoogleCloudAiplatformV1SavedQuery", + "description": "A SavedQuery is a view of the dataset. It references a subset of annotations by problem type and filters.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the SavedQuery.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the SavedQuery. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "metadata": { + "description": "Some additional information about the SavedQuery.", + "type": "any" + }, + "createTime": { + "description": "Output only. Timestamp when this SavedQuery was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when SavedQuery was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "annotationFilter": { + "description": "Output only. Filters on the Annotations in the dataset.", + "readOnly": true, + "type": "string" + }, + "problemType": { + "description": "Required. Problem type of the SavedQuery. Allowed values: * IMAGE_CLASSIFICATION_SINGLE_LABEL * IMAGE_CLASSIFICATION_MULTI_LABEL * IMAGE_BOUNDING_POLY * IMAGE_BOUNDING_BOX * TEXT_CLASSIFICATION_SINGLE_LABEL * TEXT_CLASSIFICATION_MULTI_LABEL * TEXT_EXTRACTION * TEXT_SENTIMENT * VIDEO_CLASSIFICATION * VIDEO_OBJECT_TRACKING", + "type": "string" + }, + "annotationSpecCount": { + "description": "Output only. Number of AnnotationSpecs in the context of the SavedQuery.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "etag": { + "description": "Used to perform a consistent read-modify-write update. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "supportAutomlTraining": { + "description": "Output only. If the Annotations belonging to the SavedQuery can be used for AutoML training.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1EncryptionSpec": { + "id": "GoogleCloudAiplatformV1EncryptionSpec", + "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", + "type": "object", + "properties": { + "kmsKeyName": { + "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListDatasetsResponse": { + "id": "GoogleCloudAiplatformV1ListDatasetsResponse", + "description": "Response message for DatasetService.ListDatasets.", + "type": "object", + "properties": { + "datasets": { + "description": "A list of Datasets that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Dataset" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ImportDataRequest": { + "id": "GoogleCloudAiplatformV1ImportDataRequest", + "description": "Request message for DatasetService.ImportData.", + "type": "object", + "properties": { + "importConfigs": { + "description": "Required. The desired input locations. The contents of all input locations will be imported in one batch.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ImportDataConfig" + } + } + } + }, + "GoogleCloudAiplatformV1ImportDataConfig": { + "id": "GoogleCloudAiplatformV1ImportDataConfig", + "description": "Describes the location from where we import data into a Dataset, together with the labels that will be applied to the DataItems and the Annotations.", + "type": "object", + "properties": { + "gcsSource": { + "description": "The Google Cloud Storage location for the input content.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "dataItemLabels": { + "description": "Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "annotationLabels": { + "description": "Labels that will be applied to newly imported Annotations. If two Annotations are identical, one of them will be deduped. Two Annotations are considered identical if their payload, payload_schema_uri and all of their labels are the same. These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "importSchemaUri": { + "description": "Required. Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GcsSource": { + "id": "GoogleCloudAiplatformV1GcsSource", + "description": "The Google Cloud Storage location for the input content.", + "type": "object", + "properties": { + "uris": { + "description": "Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ExportDataRequest": { + "id": "GoogleCloudAiplatformV1ExportDataRequest", + "description": "Request message for DatasetService.ExportData.", + "type": "object", + "properties": { + "exportConfig": { + "description": "Required. The desired output location.", + "$ref": "GoogleCloudAiplatformV1ExportDataConfig" + } + } + }, + "GoogleCloudAiplatformV1ExportDataConfig": { + "id": "GoogleCloudAiplatformV1ExportDataConfig", + "description": "Describes what part of the Dataset is to be exported, the destination of the export and how to export.", + "type": "object", + "properties": { + "gcsDestination": { + "description": "The Google Cloud Storage location where the output is to be written to. In the given directory a new directory will be created with name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export output will be written into that directory. Inside that directory, annotations with the same schema will be grouped into sub directories which are named with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "fractionSplit": { + "description": "Split based on fractions defining the size of each set.", + "$ref": "GoogleCloudAiplatformV1ExportFractionSplit" + }, + "filterSplit": { + "description": "Split based on the provided filters for each set.", + "$ref": "GoogleCloudAiplatformV1ExportFilterSplit" + }, + "annotationsFilter": { + "description": "An expression for filtering what part of the Dataset is to be exported. Only Annotations that match this filter will be exported. The filter syntax is the same as in ListAnnotations.", + "type": "string" + }, + "savedQueryId": { + "description": "The ID of a SavedQuery (annotation set) under the Dataset specified by ExportDataRequest.name used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", + "type": "string" + }, + "annotationSchemaUri": { + "description": "The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by ExportDataRequest.name. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", + "type": "string" + }, + "exportUse": { + "description": "Indicates the usage of the exported files.", + "type": "string", + "enumDescriptions": [ + "Regular user export.", + "Export for custom code training." + ], + "enum": [ + "EXPORT_USE_UNSPECIFIED", + "CUSTOM_CODE_TRAINING" + ] + } + } + }, + "GoogleCloudAiplatformV1GcsDestination": { + "id": "GoogleCloudAiplatformV1GcsDestination", + "description": "The Google Cloud Storage location where the output is to be written to.", + "type": "object", + "properties": { + "outputUriPrefix": { + "description": "Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExportFractionSplit": { + "id": "GoogleCloudAiplatformV1ExportFractionSplit", + "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", + "type": "object", + "properties": { + "trainingFraction": { + "description": "The fraction of the input data that is to be used to train the Model.", + "type": "number", + "format": "double" + }, + "validationFraction": { + "description": "The fraction of the input data that is to be used to validate the Model.", + "type": "number", + "format": "double" + }, + "testFraction": { + "description": "The fraction of the input data that is to be used to evaluate the Model.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ExportFilterSplit": { + "id": "GoogleCloudAiplatformV1ExportFilterSplit", + "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets.", + "type": "object", + "properties": { + "trainingFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + }, + "validationFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + }, + "testFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DatasetVersion": { + "id": "GoogleCloudAiplatformV1DatasetVersion", + "description": "Describes the dataset version.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Identifier. The resource name of the DatasetVersion. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this DatasetVersion was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this DatasetVersion was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "bigQueryDatasetName": { + "description": "Output only. Name of the associated BigQuery dataset.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The user-defined name of the DatasetVersion. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "metadata": { + "description": "Required. Output only. Additional information about the DatasetVersion.", + "readOnly": true, + "type": "any" + }, + "modelReference": { + "description": "Output only. Reference to the public base model last used by the dataset version. Only set for prompt dataset versions.", + "readOnly": true, + "type": "string" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ListDatasetVersionsResponse": { + "id": "GoogleCloudAiplatformV1ListDatasetVersionsResponse", + "description": "Response message for DatasetService.ListDatasetVersions.", + "type": "object", + "properties": { + "datasetVersions": { + "description": "A list of DatasetVersions that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DatasetVersion" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListDataItemsResponse": { + "id": "GoogleCloudAiplatformV1ListDataItemsResponse", + "description": "Response message for DatasetService.ListDataItems.", + "type": "object", + "properties": { + "dataItems": { + "description": "A list of DataItems that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DataItem" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DataItem": { + "id": "GoogleCloudAiplatformV1DataItem", + "description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the DataItem.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this DataItem was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this DataItem was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your DataItems. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "payload": { + "description": "Required. The data that the DataItem represents (for example, an image or a text snippet). The schema of the payload is stored in the parent Dataset's metadata schema's dataItemSchemaUri field.", + "type": "any" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SearchDataItemsResponse": { + "id": "GoogleCloudAiplatformV1SearchDataItemsResponse", + "description": "Response message for DatasetService.SearchDataItems.", + "type": "object", + "properties": { + "dataItemViews": { + "description": "The DataItemViews read.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DataItemView" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to SearchDataItemsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DataItemView": { + "id": "GoogleCloudAiplatformV1DataItemView", + "description": "A container for a single DataItem and Annotations on it.", + "type": "object", + "properties": { + "dataItem": { + "description": "The DataItem.", + "$ref": "GoogleCloudAiplatformV1DataItem" + }, + "annotations": { + "description": "The Annotations on the DataItem. If too many Annotations should be returned for the DataItem, this field will be truncated per annotations_limit in request. If it was, then the has_truncated_annotations will be set to true.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Annotation" + } + }, + "hasTruncatedAnnotations": { + "description": "True if and only if the Annotations field has been truncated. It happens if more Annotations for this DataItem met the request's annotation_filter than are allowed to be returned by annotations_limit. Note that if Annotations field is not being returned due to field mask, then this field will not be set to true no matter how many Annotations are there.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1Annotation": { + "id": "GoogleCloudAiplatformV1Annotation", + "description": "Used to assign specific AnnotationSpec to a particular area of a DataItem or the whole part of the DataItem.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the Annotation.", + "readOnly": true, + "type": "string" + }, + "payloadSchemaUri": { + "description": "Required. Google Cloud Storage URI points to a YAML file describing payload. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with the parent Dataset's metadata.", + "type": "string" + }, + "payload": { + "description": "Required. The schema of the payload can be found in payload_schema.", + "type": "any" + }, + "createTime": { + "description": "Output only. Timestamp when this Annotation was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Annotation was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "annotationSource": { + "description": "Output only. The source of the Annotation.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1UserActionReference" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your Annotations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Annotation(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Annotation: * \"aiplatform.googleapis.com/annotation_set_name\": optional, name of the UI's annotation set this Annotation belongs to. If not set, the Annotation is not visible in the UI. * \"aiplatform.googleapis.com/payload_schema\": output only, its value is the payload_schema's title.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1UserActionReference": { + "id": "GoogleCloudAiplatformV1UserActionReference", + "description": "References an API call. It contains more information about long running operation and Jobs that are triggered by the API call.", + "type": "object", + "properties": { + "operation": { + "description": "For API calls that return a long running operation. Resource name of the long running operation. Format: `projects/{project}/locations/{location}/operations/{operation}`", + "type": "string" + }, + "dataLabelingJob": { + "description": "For API calls that start a LabelingJob. Resource name of the LabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", + "type": "string" + }, + "method": { + "description": "The method name of the API RPC call. For example, \"/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset\"", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListSavedQueriesResponse": { + "id": "GoogleCloudAiplatformV1ListSavedQueriesResponse", + "description": "Response message for DatasetService.ListSavedQueries.", + "type": "object", + "properties": { + "savedQueries": { + "description": "A list of SavedQueries that match the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SavedQuery" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AnnotationSpec": { + "id": "GoogleCloudAiplatformV1AnnotationSpec", + "description": "Identifies a concept with which DataItems may be annotated with.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the AnnotationSpec.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the AnnotationSpec. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this AnnotationSpec was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when AnnotationSpec was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListAnnotationsResponse": { + "id": "GoogleCloudAiplatformV1ListAnnotationsResponse", + "description": "Response message for DatasetService.ListAnnotations.", + "type": "object", + "properties": { + "annotations": { + "description": "A list of Annotations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Annotation" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest": { + "id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest", + "description": "Request message for CreateDeploymentResourcePool method.", + "type": "object", + "properties": { + "deploymentResourcePool": { + "description": "Required. The DeploymentResourcePool to create.", + "$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" + }, + "deploymentResourcePoolId": { + "description": "Required. The ID to use for the DeploymentResourcePool, which will become the final component of the DeploymentResourcePool's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeploymentResourcePool": { + "id": "GoogleCloudAiplatformV1DeploymentResourcePool", + "description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", + "type": "object", + "properties": { + "name": { + "description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", + "type": "string" + }, + "dedicatedResources": { + "description": "Required. The underlying DedicatedResources that the DeploymentResourcePool uses.", + "$ref": "GoogleCloudAiplatformV1DedicatedResources" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a DeploymentResourcePool. If set, this DeploymentResourcePool will be secured by this key. Endpoints and the DeploymentResourcePool they deploy in need to have the same EncryptionSpec.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "serviceAccount": { + "description": "The service account that the DeploymentResourcePool's container(s) run as. Specify the email address of the service account. If this service account is not specified, the container(s) run as a service account that doesn't have access to the resource project. Users deploying the Models to this DeploymentResourcePool must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, + "disableContainerLogging": { + "description": "If the DeploymentResourcePool is deployed with custom-trained Models or AutoML Tabular Models, the container(s) of the DeploymentResourcePool will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", + "type": "boolean" + }, + "createTime": { + "description": "Output only. Timestamp when this DeploymentResourcePool was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1DedicatedResources": { + "id": "GoogleCloudAiplatformV1DedicatedResources", + "description": "A description of resources that are dedicated to a DeployedModel or DeployedIndex, and that need a higher degree of manual configuration.", + "type": "object", + "properties": { + "machineSpec": { + "description": "Required. Immutable. The specification of a single machine being used.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "minReplicaCount": { + "description": "Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", + "type": "integer", + "format": "int32" + }, + "maxReplicaCount": { + "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", + "type": "integer", + "format": "int32" + }, + "requiredReplicaCount": { + "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", + "type": "integer", + "format": "int32" + }, + "autoscalingMetricSpecs": { + "description": "Immutable. The metric specifications that overrides a resource utilization metric (CPU utilization, accelerator's duty cycle, and so on) target value (default to 60 if not set). At most one entry is allowed per metric. If machine_spec.accelerator_count is above 0, the autoscaling will be based on both CPU utilization and accelerator's duty cycle metrics and scale up when either metrics exceeds its target value while scale down if both metrics are under their target value. The default target value is 60 for both metrics. If machine_spec.accelerator_count is 0, the autoscaling will be based on CPU utilization metric only with default target value 60 if not explicitly set. For example, in the case of Online Prediction, if you want to override target CPU utilization to 80, you should set autoscaling_metric_specs.metric_name to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and autoscaling_metric_specs.target to `80`.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1AutoscalingMetricSpec" + } + }, + "spot": { + "description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1MachineSpec": { + "id": "GoogleCloudAiplatformV1MachineSpec", + "description": "Specification of a single machine.", + "type": "object", + "properties": { + "machineType": { + "description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", + "type": "string" + }, + "acceleratorType": { + "description": "Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.", + "type": "string", + "enumDescriptions": [ + "Unspecified accelerator type, which means no accelerator.", + "Deprecated: Nvidia Tesla K80 GPU has reached end of support, see https://cloud.google.com/compute/docs/eol/k80-eol.", + "Nvidia Tesla P100 GPU.", + "Nvidia Tesla V100 GPU.", + "Nvidia Tesla P4 GPU.", + "Nvidia Tesla T4 GPU.", + "Nvidia Tesla A100 GPU.", + "Nvidia A100 80GB GPU.", + "Nvidia L4 GPU.", + "Nvidia H100 80Gb GPU.", + "Nvidia H100 Mega 80Gb GPU.", + "Nvidia H200 141Gb GPU.", + "Nvidia B200 GPU.", + "Nvidia GB200 GPU.", + "Nvidia RTX Pro 6000 GPU.", + "TPU v2.", + "TPU v3.", + "TPU v4.", + "TPU v5." + ], + "enumDeprecated": [ + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enum": [ + "ACCELERATOR_TYPE_UNSPECIFIED", + "NVIDIA_TESLA_K80", + "NVIDIA_TESLA_P100", + "NVIDIA_TESLA_V100", + "NVIDIA_TESLA_P4", + "NVIDIA_TESLA_T4", + "NVIDIA_TESLA_A100", + "NVIDIA_A100_80GB", + "NVIDIA_L4", + "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", + "NVIDIA_B200", + "NVIDIA_GB200", + "NVIDIA_RTX_PRO_6000", + "TPU_V2", + "TPU_V3", + "TPU_V4_POD", + "TPU_V5_LITEPOD" + ] + }, + "acceleratorCount": { + "description": "The number of accelerators to attach to the machine.", + "type": "integer", + "format": "int32" + }, + "tpuTopology": { + "description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", + "type": "string" + }, + "reservationAffinity": { + "description": "Optional. Immutable. Configuration controlling how this resource pool consumes reservation.", + "$ref": "GoogleCloudAiplatformV1ReservationAffinity" + } + } + }, + "GoogleCloudAiplatformV1ReservationAffinity": { + "id": "GoogleCloudAiplatformV1ReservationAffinity", + "description": "A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity.", + "type": "object", + "properties": { + "reservationAffinityType": { + "description": "Required. Specifies the reservation affinity type.", + "type": "string", + "enumDescriptions": [ + "Default value. This should not be used.", + "Do not consume from any reserved capacity, only use on-demand.", + "Consume any reservation available, falling back to on-demand.", + "Consume from a specific reservation. When chosen, the reservation must be identified via the `key` and `values` fields." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "NO_RESERVATION", + "ANY_RESERVATION", + "SPECIFIC_RESERVATION" + ] + }, + "key": { + "description": "Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value.", + "type": "string" + }, + "values": { + "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1AutoscalingMetricSpec": { + "id": "GoogleCloudAiplatformV1AutoscalingMetricSpec", + "description": "The metric specification that defines the target resource utilization (CPU utilization, accelerator's duty cycle, and so on) for calculating the desired replica count.", + "type": "object", + "properties": { + "metricName": { + "description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization` * `aiplatform.googleapis.com/prediction/online/request_count` * `pubsub.googleapis.com/subscription/num_undelivered_messages`", + "type": "string" + }, + "target": { + "description": "The target resource utilization in percentage (1% - 100%) for the given metric; once the real usage deviates from the target by a certain percentage, the machine replicas change. The default value is 60 (representing 60%) if not provided.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse": { + "id": "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse", + "description": "Response message for ListDeploymentResourcePools method.", + "type": "object", + "properties": { + "deploymentResourcePools": { + "description": "The DeploymentResourcePools from the specified location.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QueryDeployedModelsResponse": { + "id": "GoogleCloudAiplatformV1QueryDeployedModelsResponse", + "description": "Response message for QueryDeployedModels method.", + "type": "object", + "properties": { + "deployedModels": { + "description": "DEPRECATED Use deployed_model_refs instead.", + "deprecated": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedModel" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "deployedModelRefs": { + "description": "References to the DeployedModels that share the specified deploymentResourcePool.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedModelRef" + } + }, + "totalDeployedModelCount": { + "description": "The total number of DeployedModels on this DeploymentResourcePool.", + "type": "integer", + "format": "int32" + }, + "totalEndpointCount": { + "description": "The total number of Endpoints that have DeployedModels on this DeploymentResourcePool.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1DeployedModel": { + "id": "GoogleCloudAiplatformV1DeployedModel", + "description": "A deployment of a Model. Endpoints contain one or more DeployedModels.", + "type": "object", + "properties": { + "dedicatedResources": { + "description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", + "$ref": "GoogleCloudAiplatformV1DedicatedResources" + }, + "automaticResources": { + "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", + "$ref": "GoogleCloudAiplatformV1AutomaticResources" + }, + "sharedResources": { + "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", + "type": "string" + }, + "id": { + "description": "Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`.", + "type": "string" + }, + "model": { + "description": "The resource name of the Model that this is the deployment of. Note that the Model may be in a different location than the DeployedModel's Endpoint. The resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed.", + "type": "string" + }, + "gdcConnectedModel": { + "description": "GDC pretrained / Gemini model name. The model name is a plain model name, e.g. gemini-1.5-flash-002.", + "type": "string" + }, + "modelVersionId": { + "description": "Output only. The version ID of the model that is deployed.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the DeployedModel. If not provided upon creation, the Model's display_name is used.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the DeployedModel was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "explanationSpec": { + "description": "Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration.", + "$ref": "GoogleCloudAiplatformV1ExplanationSpec" + }, + "disableExplanations": { + "description": "If true, deploy the model without explainable feature, regardless the existence of Model.explanation_spec or explanation_spec.", + "type": "boolean" + }, + "serviceAccount": { + "description": "The service account that the DeployedModel's container runs as. Specify the email address of the service account. If this service account is not specified, the container runs as a service account that doesn't have access to the resource project. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, + "disableContainerLogging": { + "description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", + "type": "boolean" + }, + "enableAccessLogging": { + "description": "If true, online prediction access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each prediction request. Note that logs may incur a cost, especially if your project receives prediction requests at a high queries per second rate (QPS). Estimate your costs before enabling this option.", + "type": "boolean" + }, + "privateEndpoints": { + "description": "Output only. Provide paths for users to send predict/explain/health requests directly to the deployed model services running on Cloud via private services access. This field is populated if network is configured.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PrivateEndpoints" + }, + "fasterDeploymentConfig": { + "description": "Configuration for faster model deployment.", + "$ref": "GoogleCloudAiplatformV1FasterDeploymentConfig" + }, + "status": { + "description": "Output only. Runtime status of the deployed model.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DeployedModelStatus" + }, + "systemLabels": { + "description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "checkpointId": { + "description": "The checkpoint id of the model.", + "type": "string" + }, + "speculativeDecodingSpec": { + "description": "Optional. Spec for configuring speculative decoding.", + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpec" + } + } + }, + "GoogleCloudAiplatformV1AutomaticResources": { + "id": "GoogleCloudAiplatformV1AutomaticResources", + "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", + "type": "object", + "properties": { + "minReplicaCount": { + "description": "Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.", + "type": "integer", + "format": "int32" + }, + "maxReplicaCount": { + "description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ExplanationSpec": { + "id": "GoogleCloudAiplatformV1ExplanationSpec", + "description": "Specification of Model explanation.", + "type": "object", + "properties": { + "parameters": { + "description": "Required. Parameters that configure explaining of the Model's predictions.", + "$ref": "GoogleCloudAiplatformV1ExplanationParameters" + }, + "metadata": { + "description": "Optional. Metadata describing the Model's input and output for explanation.", + "$ref": "GoogleCloudAiplatformV1ExplanationMetadata" + } + } + }, + "GoogleCloudAiplatformV1ExplanationParameters": { + "id": "GoogleCloudAiplatformV1ExplanationParameters", + "description": "Parameters to configure explaining for Model's predictions.", + "type": "object", + "properties": { + "sampledShapleyAttribution": { + "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features. Refer to this paper for model details: https://arxiv.org/abs/1306.4265.", + "$ref": "GoogleCloudAiplatformV1SampledShapleyAttribution" + }, + "integratedGradientsAttribution": { + "description": "An attribution method that computes Aumann-Shapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", + "$ref": "GoogleCloudAiplatformV1IntegratedGradientsAttribution" + }, + "xraiAttribution": { + "description": "An attribution method that redistributes Integrated Gradients attribution to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 XRAI currently performs better on natural images, like a picture of a house or an animal. If the images are taken in artificial environments, like a lab or manufacturing line, or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead.", + "$ref": "GoogleCloudAiplatformV1XraiAttribution" + }, + "examples": { + "description": "Example-based explanations that returns the nearest neighbors from the provided dataset.", + "$ref": "GoogleCloudAiplatformV1Examples" + }, + "topK": { + "description": "If populated, returns attributions for top K indices of outputs (defaults to 1). Only applies to Models that predicts more than one outputs (e,g, multi-class Models). When set to -1, returns explanations for all outputs.", + "type": "integer", + "format": "int32" + }, + "outputIndices": { + "description": "If populated, only returns attributions that have output_index contained in output_indices. It must be an ndarray of integers, with the same shape of the output it's explaining. If not populated, returns attributions for top_k indices of outputs. If neither top_k nor output_indices is populated, returns the argmax index of the outputs. Only applicable to Models that predict multiple outputs (e,g, multi-class Models that predict multiple classes).", + "type": "array", + "items": { + "type": "any" + } + } + } + }, + "GoogleCloudAiplatformV1SampledShapleyAttribution": { + "id": "GoogleCloudAiplatformV1SampledShapleyAttribution", + "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features.", + "type": "object", + "properties": { + "pathCount": { + "description": "Required. The number of feature permutations to consider when approximating the Shapley values. Valid range of its value is [1, 50], inclusively.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1IntegratedGradientsAttribution": { + "id": "GoogleCloudAiplatformV1IntegratedGradientsAttribution", + "description": "An attribution method that computes the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", + "type": "object", + "properties": { + "stepCount": { + "description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is within the desired error range. Valid range of its value is [1, 100], inclusively.", + "type": "integer", + "format": "int32" + }, + "smoothGradConfig": { + "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", + "$ref": "GoogleCloudAiplatformV1SmoothGradConfig" + }, + "blurBaselineConfig": { + "description": "Config for IG with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", + "$ref": "GoogleCloudAiplatformV1BlurBaselineConfig" + } + } + }, + "GoogleCloudAiplatformV1SmoothGradConfig": { + "id": "GoogleCloudAiplatformV1SmoothGradConfig", + "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", + "type": "object", + "properties": { + "noiseSigma": { + "description": "This is a single float value and will be used to add noise to all the features. Use this field when all features are normalized to have the same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where features are normalized to have 0-mean and 1-variance. Learn more about [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). For best results the recommended value is about 10% - 20% of the standard deviation of the input feature. Refer to section 3.2 of the SmoothGrad paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. If the distribution is different per feature, set feature_noise_sigma instead for each feature.", + "type": "number", + "format": "float" + }, + "featureNoiseSigma": { + "description": "This is similar to noise_sigma, but provides additional flexibility. A separate noise sigma can be provided for each feature, which is useful if their distributions are different. No noise is added to features that are not set. If this field is unset, noise_sigma will be used for all features.", + "$ref": "GoogleCloudAiplatformV1FeatureNoiseSigma" + }, + "noisySampleCount": { + "description": "The number of gradient samples to use for approximation. The higher this number, the more accurate the gradient is, but the runtime complexity increases by this factor as well. Valid range of its value is [1, 50]. Defaults to 3.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1FeatureNoiseSigma": { + "id": "GoogleCloudAiplatformV1FeatureNoiseSigma", + "description": "Noise sigma by features. Noise sigma represents the standard deviation of the gaussian kernel that will be used to add noise to interpolated inputs prior to computing gradients.", + "type": "object", + "properties": { + "noiseSigma": { + "description": "Noise sigma per feature. No noise is added to features that are not set.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature": { + "id": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature", + "description": "Noise sigma for a single feature.", + "type": "object", + "properties": { + "name": { + "description": "The name of the input feature for which noise sigma is provided. The features are defined in explanation metadata inputs.", + "type": "string" + }, + "sigma": { + "description": "This represents the standard deviation of the Gaussian kernel that will be used to add noise to the feature prior to computing gradients. Similar to noise_sigma but represents the noise added to the current feature. Defaults to 0.1.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1BlurBaselineConfig": { + "id": "GoogleCloudAiplatformV1BlurBaselineConfig", + "description": "Config for blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", + "type": "object", + "properties": { + "maxBlurSigma": { + "description": "The standard deviation of the blur kernel for the blurred baseline. The same blurring parameter is used for both the height and the width dimension. If not set, the method defaults to the zero (i.e. black for images) baseline.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1XraiAttribution": { + "id": "GoogleCloudAiplatformV1XraiAttribution", + "description": "An explanation method that redistributes Integrated Gradients attributions to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Supported only by image Models.", + "type": "object", + "properties": { + "stepCount": { + "description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range. Valid range of its value is [1, 100], inclusively.", + "type": "integer", + "format": "int32" + }, + "smoothGradConfig": { + "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", + "$ref": "GoogleCloudAiplatformV1SmoothGradConfig" + }, + "blurBaselineConfig": { + "description": "Config for XRAI with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", + "$ref": "GoogleCloudAiplatformV1BlurBaselineConfig" + } + } + }, + "GoogleCloudAiplatformV1Examples": { + "id": "GoogleCloudAiplatformV1Examples", + "description": "Example-based explainability that returns the nearest neighbors from the provided dataset.", + "type": "object", + "properties": { + "exampleGcsSource": { + "description": "The Cloud Storage input instances.", + "$ref": "GoogleCloudAiplatformV1ExamplesExampleGcsSource" + }, + "nearestNeighborSearchConfig": { + "description": "The full configuration for the generated index, the semantics are the same as metadata and should match [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config).", + "type": "any" + }, + "presets": { + "description": "Simplified preset configuration, which automatically sets configuration values based on the desired query speed-precision trade-off and modality.", + "$ref": "GoogleCloudAiplatformV1Presets" + }, + "neighborCount": { + "description": "The number of neighbors to return when querying for examples.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ExamplesExampleGcsSource": { + "id": "GoogleCloudAiplatformV1ExamplesExampleGcsSource", + "description": "The Cloud Storage input instances.", + "type": "object", + "properties": { + "dataFormat": { + "description": "The format in which instances are given, if not specified, assume it's JSONL format. Currently only JSONL format is supported.", + "type": "string", + "enumDescriptions": [ + "Format unspecified, used when unset.", + "Examples are stored in JSONL files." + ], + "enum": [ + "DATA_FORMAT_UNSPECIFIED", + "JSONL" + ] + }, + "gcsSource": { + "description": "The Cloud Storage location for the input instances.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + } + } + }, + "GoogleCloudAiplatformV1Presets": { + "id": "GoogleCloudAiplatformV1Presets", + "description": "Preset configuration for example-based explanations", + "type": "object", + "properties": { + "query": { + "description": "Preset option controlling parameters for speed-precision trade-off when querying for examples. If omitted, defaults to `PRECISE`.", + "type": "string", + "enumDescriptions": [ + "More precise neighbors as a trade-off against slower response.", + "Faster response as a trade-off against less precise neighbors." + ], + "enum": [ + "PRECISE", + "FAST" + ] + }, + "modality": { + "description": "The modality of the uploaded model, which automatically configures the distance measurement and feature normalization for the underlying example index and queries. If your model does not precisely fit one of these types, it is okay to choose the closest type.", + "type": "string", + "enumDescriptions": [ + "Should not be set. Added as a recommended best practice for enums", + "IMAGE modality", + "TEXT modality", + "TABULAR modality" + ], + "enum": [ + "MODALITY_UNSPECIFIED", + "IMAGE", + "TEXT", + "TABULAR" + ] + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadata": { + "id": "GoogleCloudAiplatformV1ExplanationMetadata", + "description": "Metadata describing the Model's input and output for explanation.", + "type": "object", + "properties": { + "inputs": { + "description": "Required. Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata" + } + }, + "outputs": { + "description": "Required. Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata" + } + }, + "featureAttributionsSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "latentSpaceSource": { + "description": "Name of the source to generate embeddings for example based explanations.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata", + "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", + "type": "object", + "properties": { + "inputBaselines": { + "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "type": "array", + "items": { + "type": "any" + } + }, + "inputTensorName": { + "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow.", + "type": "string" + }, + "encoding": { + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", + "type": "string", + "enumDescriptions": [ + "Default value. This is the same as IDENTITY.", + "The tensor represents one feature.", + "The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = [\"age\", \"height\", \"weight\"] ```", + "The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```", + "Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ```" + ], + "enum": [ + "ENCODING_UNSPECIFIED", + "IDENTITY", + "BAG_OF_FEATURES", + "BAG_OF_FEATURES_SPARSE", + "INDICATOR", + "COMBINED_EMBEDDING", + "CONCAT_EMBEDDING" + ] + }, + "modality": { + "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric.", + "type": "string" + }, + "featureValueDomain": { + "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized.", + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain" + }, + "indicesTensorName": { + "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", + "type": "string" + }, + "denseShapeTensorName": { + "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", + "type": "string" + }, + "indexFeatureMapping": { + "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR.", + "type": "array", + "items": { + "type": "string" + } + }, + "encodedTensorName": { + "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table.", + "type": "string" + }, + "encodedBaselines": { + "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor.", + "type": "array", + "items": { + "type": "any" + } + }, + "visualization": { + "description": "Visualization configurations for image explanation.", + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization" + }, + "groupName": { + "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain", + "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", + "type": "object", + "properties": { + "minValue": { + "description": "The minimum permissible value for this feature.", + "type": "number", + "format": "float" + }, + "maxValue": { + "description": "The maximum permissible value for this feature.", + "type": "number", + "format": "float" + }, + "originalMean": { + "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization.", + "type": "number", + "format": "float" + }, + "originalStddev": { + "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization", + "description": "Visualization configurations for image explanation.", + "type": "object", + "properties": { + "type": { + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "Shows which pixel contributed to the image prediction.", + "Shows which region contributed to the image prediction by outlining the region." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PIXELS", + "OUTLINES" + ] + }, + "polarity": { + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", + "type": "string", + "enumDescriptions": [ + "Default value. This is the same as POSITIVE.", + "Highlights the pixels/outlines that were most influential to the model's prediction.", + "Setting polarity to negative highlights areas that does not lead to the models's current prediction.", + "Shows both positive and negative attributions." + ], + "enum": [ + "POLARITY_UNSPECIFIED", + "POSITIVE", + "NEGATIVE", + "BOTH" + ] + }, + "colorMap": { + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "Positive: green. Negative: pink.", + "Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", + "Positive: red. Negative: red.", + "Positive: green. Negative: green.", + "Positive: green. Negative: red.", + "PiYG palette." + ], + "enum": [ + "COLOR_MAP_UNSPECIFIED", + "PINK_GREEN", + "VIRIDIS", + "RED", + "GREEN", + "RED_GREEN", + "PINK_WHITE_GREEN" + ] + }, + "clipPercentUpperbound": { + "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9.", + "type": "number", + "format": "float" + }, + "clipPercentLowerbound": { + "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62.", + "type": "number", + "format": "float" + }, + "overlayType": { + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", + "type": "string", + "enumDescriptions": [ + "Default value. This is the same as NONE.", + "No overlay.", + "The attributions are shown on top of the original image.", + "The attributions are shown on top of grayscaled version of the original image.", + "The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts." + ], + "enum": [ + "OVERLAY_TYPE_UNSPECIFIED", + "NONE", + "ORIGINAL", + "GRAYSCALE", + "MASK_BLACK" + ] + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata", + "description": "Metadata of the prediction output to be explained.", + "type": "object", + "properties": { + "indexDisplayNameMapping": { + "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index.", + "type": "any" + }, + "displayNameMappingKey": { + "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output.", + "type": "string" + }, + "outputTensorName": { + "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PrivateEndpoints": { + "id": "GoogleCloudAiplatformV1PrivateEndpoints", + "description": "PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment.", + "type": "object", + "properties": { + "predictHttpUri": { + "description": "Output only. Http(s) path to send prediction requests.", + "readOnly": true, + "type": "string" + }, + "explainHttpUri": { + "description": "Output only. Http(s) path to send explain requests.", + "readOnly": true, + "type": "string" + }, + "healthHttpUri": { + "description": "Output only. Http(s) path to send health check requests.", + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FasterDeploymentConfig": { + "id": "GoogleCloudAiplatformV1FasterDeploymentConfig", + "description": "Configuration for faster model deployment.", + "type": "object", + "properties": { + "fastTryoutEnabled": { + "description": "If true, enable fast tryout feature for this deployed model.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1DeployedModelStatus": { + "id": "GoogleCloudAiplatformV1DeployedModelStatus", + "description": "Runtime status of the deployed model.", + "type": "object", + "properties": { + "message": { + "description": "Output only. The latest deployed model's status message (if any).", + "readOnly": true, + "type": "string" + }, + "lastUpdateTime": { + "description": "Output only. The time at which the status was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "availableReplicaCount": { + "description": "Output only. The number of available replicas of the deployed model.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpec": { + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpec", + "description": "Configuration for Speculative Decoding.", + "type": "object", + "properties": { + "draftModelSpeculation": { + "description": "draft model speculation.", + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation" + }, + "ngramSpeculation": { + "description": "N-Gram speculation.", + "$ref": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation" + }, + "speculativeTokenCount": { + "description": "The number of speculative tokens to generate at each step.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation": { + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation", + "description": "Draft model speculation works by using the smaller model to generate candidate tokens for speculative decoding.", + "type": "object", + "properties": { + "draftModel": { + "description": "Required. The resource name of the draft model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation": { + "id": "GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation", + "description": "N-Gram speculation works by trying to find matching tokens in the previous prompt sequence and use those as speculation for generating new tokens.", + "type": "object", + "properties": { + "ngramSize": { + "description": "The number of last N input tokens used as ngram to search/match against the previous prompt sequence. This is equal to the N in N-Gram. The default value is 3 if not specified.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1DeployedModelRef": { + "id": "GoogleCloudAiplatformV1DeployedModelRef", + "description": "Points to a DeployedModel.", + "type": "object", + "properties": { + "endpoint": { + "description": "Immutable. A resource name of an Endpoint.", + "type": "string" + }, + "deployedModelId": { + "description": "Immutable. An ID of a DeployedModel in the above Endpoint.", + "type": "string" + }, + "checkpointId": { + "description": "Immutable. The ID of the Checkpoint deployed in the DeployedModel.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Endpoint": { + "id": "GoogleCloudAiplatformV1Endpoint", + "description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the Endpoint.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the Endpoint.", + "type": "string" + }, + "deployedModels": { + "description": "Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedModel" + } + }, + "trafficSplit": { + "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment.", + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Endpoint was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Endpoint was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "network": { + "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name.", + "type": "string" + }, + "enablePrivateServiceConnect": { + "description": "Deprecated: If true, expose the Endpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", + "deprecated": true, + "type": "boolean" + }, + "privateServiceConnectConfig": { + "description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive.", + "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" + }, + "modelDeploymentMonitoringJob": { + "description": "Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", + "readOnly": true, + "type": "string" + }, + "predictRequestResponseLoggingConfig": { + "description": "Configures the request-response logging for online prediction.", + "$ref": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig" + }, + "dedicatedEndpointEnabled": { + "description": "If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon.", + "type": "boolean" + }, + "dedicatedEndpointDns": { + "description": "Output only. DNS of the dedicated endpoint. Will only be populated if dedicated_endpoint_enabled is true. Depending on the features enabled, uid might be a random number or a string. For example, if fast_tryout is enabled, uid will be fasttryout. Format: `https://{endpoint_id}.{region}-{uid}.prediction.vertexai.goog`.", + "readOnly": true, + "type": "string" + }, + "gdcConfig": { + "description": "Configures the Google Distributed Cloud (GDC) environment for online prediction. Only set this field when the Endpoint is to be deployed in a GDC environment.", + "$ref": "GoogleCloudAiplatformV1GdcConfig" + }, + "clientConnectionConfig": { + "description": "Configurations that are applied to the endpoint for online prediction.", + "$ref": "GoogleCloudAiplatformV1ClientConnectionConfig" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "genAiAdvancedFeaturesConfig": { + "description": "Optional. Configuration for GenAiAdvancedFeatures. If the endpoint is serving GenAI models, advanced features like native RAG integration can be configured. Currently, only Model Garden models are supported.", + "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig" + } + } + }, + "GoogleCloudAiplatformV1PrivateServiceConnectConfig": { + "id": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", + "description": "Represents configuration for private service connect.", + "type": "object", + "properties": { + "enablePrivateServiceConnect": { + "description": "Required. If true, expose the IndexEndpoint via private service connect.", + "type": "boolean" + }, + "projectAllowlist": { + "description": "A list of Projects from which the forwarding rule will target the service attachment.", + "type": "array", + "items": { + "type": "string" + } + }, + "pscAutomationConfigs": { + "description": "Optional. List of projects and networks where the PSC endpoints will be created. This field is used by Online Inference(Prediction) only.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PSCAutomationConfig" + } + }, + "serviceAttachment": { + "description": "Output only. The name of the generated service attachment resource. This is only populated if the endpoint is deployed with PrivateServiceConnect.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PSCAutomationConfig": { + "id": "GoogleCloudAiplatformV1PSCAutomationConfig", + "description": "PSC config that is used to automatically create PSC endpoints in the user projects.", + "type": "object", + "properties": { + "projectId": { + "description": "Required. Project id used to create forwarding rule.", + "type": "string" + }, + "network": { + "description": "Required. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/get): `projects/{project}/global/networks/{network}`.", + "type": "string" + }, + "ipAddress": { + "description": "Output only. IP address rule created by the PSC service automation.", + "readOnly": true, + "type": "string" + }, + "forwardingRule": { + "description": "Output only. Forwarding rule created by the PSC service automation.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the PSC service automation.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "The PSC service automation is successful.", + "The PSC service automation has failed." + ], + "enum": [ + "PSC_AUTOMATION_STATE_UNSPECIFIED", + "PSC_AUTOMATION_STATE_SUCCESSFUL", + "PSC_AUTOMATION_STATE_FAILED" + ] + }, + "errorMessage": { + "description": "Output only. Error message if the PSC service automation failed.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig": { + "id": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig", + "description": "Configuration for logging request-response to a BigQuery table.", + "type": "object", + "properties": { + "enabled": { + "description": "If logging is enabled or not.", + "type": "boolean" + }, + "samplingRate": { + "description": "Percentage of requests to be logged, expressed as a fraction in range(0,1].", + "type": "number", + "format": "double" + }, + "bigqueryDestination": { + "description": "BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging`", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + } + } + }, + "GoogleCloudAiplatformV1BigQueryDestination": { + "id": "GoogleCloudAiplatformV1BigQueryDestination", + "description": "The BigQuery location for the output content.", + "type": "object", + "properties": { + "outputUri": { + "description": "Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GdcConfig": { + "id": "GoogleCloudAiplatformV1GdcConfig", + "description": "Google Distributed Cloud (GDC) config.", + "type": "object", + "properties": { + "zone": { + "description": "GDC zone. A cluster will be designated for the Vertex AI workload in this zone.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ClientConnectionConfig": { + "id": "GoogleCloudAiplatformV1ClientConnectionConfig", + "description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", + "type": "object", + "properties": { + "inferenceTimeout": { + "description": "Customizable online prediction request timeout.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig": { + "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig", + "description": "Configuration for GenAiAdvancedFeatures.", + "type": "object", + "properties": { + "ragConfig": { + "description": "Configuration for Retrieval Augmented Generation feature.", + "$ref": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig" + } + } + }, + "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig": { + "id": "GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig", + "description": "Configuration for Retrieval Augmented Generation feature.", + "type": "object", + "properties": { + "enableRag": { + "description": "If true, enable Retrieval Augmented Generation in ChatCompletion request. Once enabled, the endpoint will be identified as GenAI endpoint and Arthedain router will be used.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ListEndpointsResponse": { + "id": "GoogleCloudAiplatformV1ListEndpointsResponse", + "description": "Response message for EndpointService.ListEndpoints.", + "type": "object", + "properties": { + "endpoints": { + "description": "List of Endpoints in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Endpoint" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListEndpointsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest": { + "id": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest", + "description": "Request message for EndpointService.UpdateEndpointLongRunning.", + "type": "object", + "properties": { + "endpoint": { + "description": "Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked.", + "$ref": "GoogleCloudAiplatformV1Endpoint" + } + } + }, + "GoogleCloudAiplatformV1DeployModelRequest": { + "id": "GoogleCloudAiplatformV1DeployModelRequest", + "description": "Request message for EndpointService.DeployModel.", + "type": "object", + "properties": { + "deployedModel": { + "description": "Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedModel" + }, + "trafficSplit": { + "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If this field is non-empty, then the Endpoint's traffic_split will be overwritten with it. To refer to the ID of the just being deployed Model, a \"0\" should be used, and the actual ID of the new DeployedModel will be filled in its place by this method. The traffic percentage values must add up to 100. If this field is empty, then the Endpoint's traffic_split is not updated.", + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + }, + "GoogleCloudAiplatformV1UndeployModelRequest": { + "id": "GoogleCloudAiplatformV1UndeployModelRequest", + "description": "Request message for EndpointService.UndeployModel.", + "type": "object", + "properties": { + "deployedModelId": { + "description": "Required. The ID of the DeployedModel to be undeployed from the Endpoint.", + "type": "string" + }, + "trafficSplit": { + "description": "If this field is provided, then the Endpoint's traffic_split will be overwritten with it. If last DeployedModel is being undeployed from the Endpoint, the [Endpoint.traffic_split] will always end up empty when this call returns. A DeployedModel will be successfully undeployed only if it doesn't have any traffic assigned to it when this method executes, or if this field unassigns any traffic to it.", + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + }, + "GoogleCloudAiplatformV1MutateDeployedModelRequest": { + "id": "GoogleCloudAiplatformV1MutateDeployedModelRequest", + "description": "Request message for EndpointService.MutateDeployedModel.", + "type": "object", + "properties": { + "deployedModel": { + "description": "Required. The DeployedModel to be mutated within the Endpoint. Only the following fields can be mutated: * `min_replica_count` in either DedicatedResources or AutomaticResources * `max_replica_count` in either DedicatedResources or AutomaticResources * `required_replica_count` in DedicatedResources * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only) * `scale_to_zero_spec` in DedicatedResources (v1beta1 only) * `initial_replica_count` in DedicatedResources (v1beta1 only)", + "$ref": "GoogleCloudAiplatformV1DeployedModel" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", + "type": "string", + "format": "google-fieldmask" + } + } + }, + "GoogleCloudAiplatformV1EvaluateInstancesRequest": { + "id": "GoogleCloudAiplatformV1EvaluateInstancesRequest", + "description": "Request message for EvaluationService.EvaluateInstances.", + "type": "object", + "properties": { + "exactMatchInput": { + "description": "Auto metric instances. Instances and metric spec for exact match metric.", + "$ref": "GoogleCloudAiplatformV1ExactMatchInput" + }, + "bleuInput": { + "description": "Instances and metric spec for bleu metric.", + "$ref": "GoogleCloudAiplatformV1BleuInput" + }, + "rougeInput": { + "description": "Instances and metric spec for rouge metric.", + "$ref": "GoogleCloudAiplatformV1RougeInput" + }, + "fluencyInput": { + "description": "LLM-based metric instance. General text generation metrics, applicable to other categories. Input for fluency metric.", + "$ref": "GoogleCloudAiplatformV1FluencyInput" + }, + "coherenceInput": { + "description": "Input for coherence metric.", + "$ref": "GoogleCloudAiplatformV1CoherenceInput" + }, + "safetyInput": { + "description": "Input for safety metric.", + "$ref": "GoogleCloudAiplatformV1SafetyInput" + }, + "groundednessInput": { + "description": "Input for groundedness metric.", + "$ref": "GoogleCloudAiplatformV1GroundednessInput" + }, + "fulfillmentInput": { + "description": "Input for fulfillment metric.", + "$ref": "GoogleCloudAiplatformV1FulfillmentInput" + }, + "summarizationQualityInput": { + "description": "Input for summarization quality metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationQualityInput" + }, + "pairwiseSummarizationQualityInput": { + "description": "Input for pairwise summarization quality metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput" + }, + "summarizationHelpfulnessInput": { + "description": "Input for summarization helpfulness metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput" + }, + "summarizationVerbosityInput": { + "description": "Input for summarization verbosity metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInput" + }, + "questionAnsweringQualityInput": { + "description": "Input for question answering quality metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput" + }, + "pairwiseQuestionAnsweringQualityInput": { + "description": "Input for pairwise question answering quality metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput" + }, + "questionAnsweringRelevanceInput": { + "description": "Input for question answering relevance metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput" + }, + "questionAnsweringHelpfulnessInput": { + "description": "Input for question answering helpfulness metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput" + }, + "questionAnsweringCorrectnessInput": { + "description": "Input for question answering correctness metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput" + }, + "pointwiseMetricInput": { + "description": "Input for pointwise metric.", + "$ref": "GoogleCloudAiplatformV1PointwiseMetricInput" + }, + "pairwiseMetricInput": { + "description": "Input for pairwise metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseMetricInput" + }, + "toolCallValidInput": { + "description": "Tool call metric instances. Input for tool call valid metric.", + "$ref": "GoogleCloudAiplatformV1ToolCallValidInput" + }, + "toolNameMatchInput": { + "description": "Input for tool name match metric.", + "$ref": "GoogleCloudAiplatformV1ToolNameMatchInput" + }, + "toolParameterKeyMatchInput": { + "description": "Input for tool parameter key match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput" + }, + "toolParameterKvMatchInput": { + "description": "Input for tool parameter key value match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInput" + }, + "cometInput": { + "description": "Translation metrics. Input for Comet metric.", + "$ref": "GoogleCloudAiplatformV1CometInput" + }, + "metricxInput": { + "description": "Input for Metricx metric.", + "$ref": "GoogleCloudAiplatformV1MetricxInput" + }, + "trajectoryExactMatchInput": { + "description": "Input for trajectory exact match metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInput" + }, + "trajectoryInOrderMatchInput": { + "description": "Input for trajectory in order match metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput" + }, + "trajectoryAnyOrderMatchInput": { + "description": "Input for trajectory match any order metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput" + }, + "trajectoryPrecisionInput": { + "description": "Input for trajectory precision metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInput" + }, + "trajectoryRecallInput": { + "description": "Input for trajectory recall metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInput" + }, + "trajectorySingleToolUseInput": { + "description": "Input for trajectory single tool use metric.", + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput" + }, + "rubricBasedInstructionFollowingInput": { + "description": "Rubric Based Instruction Following metric.", + "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput" + }, + "metrics": { + "description": "The metrics used for evaluation. Currently, we only support evaluating a single metric. If multiple metrics are provided, only the first one will be evaluated.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Metric" + } + }, + "instance": { + "description": "The instance to be evaluated.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstance" + }, + "autoraterConfig": { + "description": "Optional. Autorater config used for evaluation.", + "$ref": "GoogleCloudAiplatformV1AutoraterConfig" + } + } + }, + "GoogleCloudAiplatformV1ExactMatchInput": { + "id": "GoogleCloudAiplatformV1ExactMatchInput", + "description": "Input for exact match metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for exact match metric.", + "$ref": "GoogleCloudAiplatformV1ExactMatchSpec" + }, + "instances": { + "description": "Required. Repeated exact match instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ExactMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1ExactMatchSpec": { + "id": "GoogleCloudAiplatformV1ExactMatchSpec", + "description": "Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ExactMatchInstance": { + "id": "GoogleCloudAiplatformV1ExactMatchInstance", + "description": "Spec for exact match instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BleuInput": { + "id": "GoogleCloudAiplatformV1BleuInput", + "description": "Input for bleu metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for bleu score metric.", + "$ref": "GoogleCloudAiplatformV1BleuSpec" + }, + "instances": { + "description": "Required. Repeated bleu instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BleuInstance" + } + } + } + }, + "GoogleCloudAiplatformV1BleuSpec": { + "id": "GoogleCloudAiplatformV1BleuSpec", + "description": "Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1.", + "type": "object", + "properties": { + "useEffectiveOrder": { + "description": "Optional. Whether to use_effective_order to compute bleu score.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1BleuInstance": { + "id": "GoogleCloudAiplatformV1BleuInstance", + "description": "Spec for bleu instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RougeInput": { + "id": "GoogleCloudAiplatformV1RougeInput", + "description": "Input for rouge metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for rouge score metric.", + "$ref": "GoogleCloudAiplatformV1RougeSpec" + }, + "instances": { + "description": "Required. Repeated rouge instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RougeInstance" + } + } + } + }, + "GoogleCloudAiplatformV1RougeSpec": { + "id": "GoogleCloudAiplatformV1RougeSpec", + "description": "Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1.", + "type": "object", + "properties": { + "rougeType": { + "description": "Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.", + "type": "string" + }, + "useStemmer": { + "description": "Optional. Whether to use stemmer to compute rouge score.", + "type": "boolean" + }, + "splitSummaries": { + "description": "Optional. Whether to split summaries while using rougeLsum.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1RougeInstance": { + "id": "GoogleCloudAiplatformV1RougeInstance", + "description": "Spec for rouge instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FluencyInput": { + "id": "GoogleCloudAiplatformV1FluencyInput", + "description": "Input for fluency metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for fluency score metric.", + "$ref": "GoogleCloudAiplatformV1FluencySpec" + }, + "instance": { + "description": "Required. Fluency instance.", + "$ref": "GoogleCloudAiplatformV1FluencyInstance" + } + } + }, + "GoogleCloudAiplatformV1FluencySpec": { + "id": "GoogleCloudAiplatformV1FluencySpec", + "description": "Spec for fluency score metric.", + "type": "object", + "properties": { + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1FluencyInstance": { + "id": "GoogleCloudAiplatformV1FluencyInstance", + "description": "Spec for fluency instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CoherenceInput": { + "id": "GoogleCloudAiplatformV1CoherenceInput", + "description": "Input for coherence metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for coherence score metric.", + "$ref": "GoogleCloudAiplatformV1CoherenceSpec" + }, + "instance": { + "description": "Required. Coherence instance.", + "$ref": "GoogleCloudAiplatformV1CoherenceInstance" + } + } + }, + "GoogleCloudAiplatformV1CoherenceSpec": { + "id": "GoogleCloudAiplatformV1CoherenceSpec", + "description": "Spec for coherence score metric.", + "type": "object", + "properties": { + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1CoherenceInstance": { + "id": "GoogleCloudAiplatformV1CoherenceInstance", + "description": "Spec for coherence instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SafetyInput": { + "id": "GoogleCloudAiplatformV1SafetyInput", + "description": "Input for safety metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for safety metric.", + "$ref": "GoogleCloudAiplatformV1SafetySpec" + }, + "instance": { + "description": "Required. Safety instance.", + "$ref": "GoogleCloudAiplatformV1SafetyInstance" + } + } + }, + "GoogleCloudAiplatformV1SafetySpec": { + "id": "GoogleCloudAiplatformV1SafetySpec", + "description": "Spec for safety metric.", + "type": "object", + "properties": { + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SafetyInstance": { + "id": "GoogleCloudAiplatformV1SafetyInstance", + "description": "Spec for safety instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GroundednessInput": { + "id": "GoogleCloudAiplatformV1GroundednessInput", + "description": "Input for groundedness metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for groundedness metric.", + "$ref": "GoogleCloudAiplatformV1GroundednessSpec" + }, + "instance": { + "description": "Required. Groundedness instance.", + "$ref": "GoogleCloudAiplatformV1GroundednessInstance" + } + } + }, + "GoogleCloudAiplatformV1GroundednessSpec": { + "id": "GoogleCloudAiplatformV1GroundednessSpec", + "description": "Spec for groundedness metric.", + "type": "object", + "properties": { + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1GroundednessInstance": { + "id": "GoogleCloudAiplatformV1GroundednessInstance", + "description": "Spec for groundedness instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "context": { + "description": "Required. Background information provided in context used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FulfillmentInput": { + "id": "GoogleCloudAiplatformV1FulfillmentInput", + "description": "Input for fulfillment metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for fulfillment score metric.", + "$ref": "GoogleCloudAiplatformV1FulfillmentSpec" + }, + "instance": { + "description": "Required. Fulfillment instance.", + "$ref": "GoogleCloudAiplatformV1FulfillmentInstance" + } + } + }, + "GoogleCloudAiplatformV1FulfillmentSpec": { + "id": "GoogleCloudAiplatformV1FulfillmentSpec", + "description": "Spec for fulfillment metric.", + "type": "object", + "properties": { + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1FulfillmentInstance": { + "id": "GoogleCloudAiplatformV1FulfillmentInstance", + "description": "Spec for fulfillment instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "instruction": { + "description": "Required. Inference instruction prompt to compare prediction with.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SummarizationQualityInput": { + "id": "GoogleCloudAiplatformV1SummarizationQualityInput", + "description": "Input for summarization quality metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for summarization quality score metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationQualitySpec" + }, + "instance": { + "description": "Required. Summarization quality instance.", + "$ref": "GoogleCloudAiplatformV1SummarizationQualityInstance" + } + } + }, + "GoogleCloudAiplatformV1SummarizationQualitySpec": { + "id": "GoogleCloudAiplatformV1SummarizationQualitySpec", + "description": "Spec for summarization quality score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute summarization quality.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SummarizationQualityInstance": { + "id": "GoogleCloudAiplatformV1SummarizationQualityInstance", + "description": "Spec for summarization quality instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to be summarized.", + "type": "string" + }, + "instruction": { + "description": "Required. Summarization prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput": { + "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput", + "description": "Input for pairwise summarization quality metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for pairwise summarization quality score metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec" + }, + "instance": { + "description": "Required. Pairwise summarization quality instance.", + "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance" + } + } + }, + "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec": { + "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec", + "description": "Spec for pairwise summarization quality score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute pairwise summarization quality.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance": { + "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance", + "description": "Spec for pairwise summarization quality instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the candidate model.", + "type": "string" + }, + "baselinePrediction": { + "description": "Required. Output of the baseline model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to be summarized.", + "type": "string" + }, + "instruction": { + "description": "Required. Summarization prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SummarizationHelpfulnessInput": { + "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput", + "description": "Input for summarization helpfulness metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for summarization helpfulness score metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec" + }, + "instance": { + "description": "Required. Summarization helpfulness instance.", + "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance" + } + } + }, + "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec": { + "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec", + "description": "Spec for summarization helpfulness score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute summarization helpfulness.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance": { + "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance", + "description": "Spec for summarization helpfulness instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to be summarized.", + "type": "string" + }, + "instruction": { + "description": "Optional. Summarization prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SummarizationVerbosityInput": { + "id": "GoogleCloudAiplatformV1SummarizationVerbosityInput", + "description": "Input for summarization verbosity metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for summarization verbosity score metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationVerbositySpec" + }, + "instance": { + "description": "Required. Summarization verbosity instance.", + "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInstance" + } + } + }, + "GoogleCloudAiplatformV1SummarizationVerbositySpec": { + "id": "GoogleCloudAiplatformV1SummarizationVerbositySpec", + "description": "Spec for summarization verbosity score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute summarization verbosity.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SummarizationVerbosityInstance": { + "id": "GoogleCloudAiplatformV1SummarizationVerbosityInstance", + "description": "Spec for summarization verbosity instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to be summarized.", + "type": "string" + }, + "instruction": { + "description": "Optional. Summarization prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringQualityInput": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput", + "description": "Input for question answering quality metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for question answering quality score metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec" + }, + "instance": { + "description": "Required. Question answering quality instance.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec", + "description": "Spec for question answering quality score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute question answering quality.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance", + "description": "Spec for question answering quality instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to answer the question.", + "type": "string" + }, + "instruction": { + "description": "Required. Question Answering prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput": { + "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput", + "description": "Input for pairwise question answering quality metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for pairwise question answering quality score metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec" + }, + "instance": { + "description": "Required. Pairwise question answering quality instance.", + "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance" + } + } + }, + "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec": { + "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec", + "description": "Spec for pairwise question answering quality score metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute question answering quality.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance": { + "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance", + "description": "Spec for pairwise question answering quality instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the candidate model.", + "type": "string" + }, + "baselinePrediction": { + "description": "Required. Output of the baseline model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Required. Text to answer the question.", + "type": "string" + }, + "instruction": { + "description": "Required. Question Answering prompt for LLM.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput", + "description": "Input for question answering relevance metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for question answering relevance score metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec" + }, + "instance": { + "description": "Required. Question answering relevance instance.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec", + "description": "Spec for question answering relevance metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute question answering relevance.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance", + "description": "Spec for question answering relevance instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Optional. Text provided as context to answer the question.", + "type": "string" + }, + "instruction": { + "description": "Required. The question asked and other instruction in the inference prompt.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput", + "description": "Input for question answering helpfulness metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for question answering helpfulness score metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec" + }, + "instance": { + "description": "Required. Question answering helpfulness instance.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec", + "description": "Spec for question answering helpfulness metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute question answering helpfulness.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance", + "description": "Spec for question answering helpfulness instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Optional. Text provided as context to answer the question.", + "type": "string" + }, + "instruction": { + "description": "Required. The question asked and other instruction in the inference prompt.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput", + "description": "Input for question answering correctness metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for question answering correctness score metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec" + }, + "instance": { + "description": "Required. Question answering correctness instance.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec", + "description": "Spec for question answering correctness metric.", + "type": "object", + "properties": { + "useReference": { + "description": "Optional. Whether to use instance.reference to compute question answering correctness.", + "type": "boolean" + }, + "version": { + "description": "Optional. Which version to use for evaluation.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance", + "description": "Spec for question answering correctness instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "context": { + "description": "Optional. Text provided as context to answer the question.", + "type": "string" + }, + "instruction": { + "description": "Required. The question asked and other instruction in the inference prompt.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PointwiseMetricInput": { + "id": "GoogleCloudAiplatformV1PointwiseMetricInput", + "description": "Input for pointwise metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for pointwise metric.", + "$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec" + }, + "instance": { + "description": "Required. Pointwise metric instance.", + "$ref": "GoogleCloudAiplatformV1PointwiseMetricInstance" + } + } + }, + "GoogleCloudAiplatformV1PointwiseMetricSpec": { + "id": "GoogleCloudAiplatformV1PointwiseMetricSpec", + "description": "Spec for pointwise metric.", + "type": "object", + "properties": { + "metricPromptTemplate": { + "description": "Required. Metric prompt template for pointwise metric.", + "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for pointwise metric.", + "type": "string" + }, + "customOutputFormatConfig": { + "description": "Optional. CustomOutputFormatConfig allows customization of metric output. By default, metrics return a score and explanation. When this config is set, the default output is replaced with either: - The raw output string. - A parsed output based on a user-defined schema. If a custom format is chosen, the `score` and `explanation` fields in the corresponding metric result will be empty.", + "$ref": "GoogleCloudAiplatformV1CustomOutputFormatConfig" + } + } + }, + "GoogleCloudAiplatformV1CustomOutputFormatConfig": { + "id": "GoogleCloudAiplatformV1CustomOutputFormatConfig", + "description": "Spec for custom output format configuration.", + "type": "object", + "properties": { + "returnRawOutput": { + "description": "Optional. Whether to return raw output.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1PointwiseMetricInstance": { + "id": "GoogleCloudAiplatformV1PointwiseMetricInstance", + "description": "Pointwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", + "type": "object", + "properties": { + "jsonInstance": { + "description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PointwiseMetricSpec.instance_prompt_template.", + "type": "string" + }, + "contentMapInstance": { + "description": "Key-value contents for the mutlimodality input, including text, image, video, audio, and pdf, etc. The key is placeholder in metric prompt template, and the value is the multimodal content.", + "$ref": "GoogleCloudAiplatformV1ContentMap" + } + } + }, + "GoogleCloudAiplatformV1ContentMap": { + "id": "GoogleCloudAiplatformV1ContentMap", + "description": "Map of placeholder in metric prompt template to contents of model input.", + "type": "object", + "properties": { + "values": { + "description": "Optional. Map of placeholder to contents.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ContentMapContents" + } + } + } + }, + "GoogleCloudAiplatformV1ContentMapContents": { + "id": "GoogleCloudAiplatformV1ContentMapContents", + "description": "Repeated Content type.", + "type": "object", + "properties": { + "contents": { + "description": "Optional. Repeated contents.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + } + } + }, + "GoogleCloudAiplatformV1PairwiseMetricInput": { + "id": "GoogleCloudAiplatformV1PairwiseMetricInput", + "description": "Input for pairwise metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for pairwise metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec" + }, + "instance": { + "description": "Required. Pairwise metric instance.", + "$ref": "GoogleCloudAiplatformV1PairwiseMetricInstance" + } + } + }, + "GoogleCloudAiplatformV1PairwiseMetricSpec": { + "id": "GoogleCloudAiplatformV1PairwiseMetricSpec", + "description": "Spec for pairwise metric.", + "type": "object", + "properties": { + "metricPromptTemplate": { + "description": "Required. Metric prompt template for pairwise metric.", + "type": "string" + }, + "candidateResponseFieldName": { + "description": "Optional. The field name of the candidate response.", + "type": "string" + }, + "baselineResponseFieldName": { + "description": "Optional. The field name of the baseline response.", + "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for pairwise metric.", + "type": "string" + }, + "customOutputFormatConfig": { + "description": "Optional. CustomOutputFormatConfig allows customization of metric output. When this config is set, the default output is replaced with the raw output string. If a custom format is chosen, the `pairwise_choice` and `explanation` fields in the corresponding metric result will be empty.", + "$ref": "GoogleCloudAiplatformV1CustomOutputFormatConfig" + } + } + }, + "GoogleCloudAiplatformV1PairwiseMetricInstance": { + "id": "GoogleCloudAiplatformV1PairwiseMetricInstance", + "description": "Pairwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", + "type": "object", + "properties": { + "jsonInstance": { + "description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PairwiseMetricSpec.instance_prompt_template.", + "type": "string" + }, + "contentMapInstance": { + "description": "Key-value contents for the mutlimodality input, including text, image, video, audio, and pdf, etc. The key is placeholder in metric prompt template, and the value is the multimodal content.", + "$ref": "GoogleCloudAiplatformV1ContentMap" + } + } + }, + "GoogleCloudAiplatformV1ToolCallValidInput": { + "id": "GoogleCloudAiplatformV1ToolCallValidInput", + "description": "Input for tool call valid metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for tool call valid metric.", + "$ref": "GoogleCloudAiplatformV1ToolCallValidSpec" + }, + "instances": { + "description": "Required. Repeated tool call valid instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolCallValidInstance" + } + } + } + }, + "GoogleCloudAiplatformV1ToolCallValidSpec": { + "id": "GoogleCloudAiplatformV1ToolCallValidSpec", + "description": "Spec for tool call valid metric.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ToolCallValidInstance": { + "id": "GoogleCloudAiplatformV1ToolCallValidInstance", + "description": "Spec for tool call valid instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ToolNameMatchInput": { + "id": "GoogleCloudAiplatformV1ToolNameMatchInput", + "description": "Input for tool name match metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for tool name match metric.", + "$ref": "GoogleCloudAiplatformV1ToolNameMatchSpec" + }, + "instances": { + "description": "Required. Repeated tool name match instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolNameMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1ToolNameMatchSpec": { + "id": "GoogleCloudAiplatformV1ToolNameMatchSpec", + "description": "Spec for tool name match metric.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ToolNameMatchInstance": { + "id": "GoogleCloudAiplatformV1ToolNameMatchInstance", + "description": "Spec for tool name match instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKeyMatchInput": { + "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput", + "description": "Input for tool parameter key match metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for tool parameter key match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec" + }, + "instances": { + "description": "Required. Repeated tool parameter key match instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec": { + "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec", + "description": "Spec for tool parameter key match metric.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance": { + "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance", + "description": "Spec for tool parameter key match instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKVMatchInput": { + "id": "GoogleCloudAiplatformV1ToolParameterKVMatchInput", + "description": "Input for tool parameter key value match metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for tool parameter key value match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec" + }, + "instances": { + "description": "Required. Repeated tool parameter key value match instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKVMatchSpec": { + "id": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", + "description": "Spec for tool parameter key value match metric.", + "type": "object", + "properties": { + "useStrictStringMatch": { + "description": "Optional. Whether to use STRICT string match on parameter values.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKVMatchInstance": { + "id": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance", + "description": "Spec for tool parameter key value match instance.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Required. Ground truth used to compare against the prediction.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CometInput": { + "id": "GoogleCloudAiplatformV1CometInput", + "description": "Input for Comet metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for comet metric.", + "$ref": "GoogleCloudAiplatformV1CometSpec" + }, + "instance": { + "description": "Required. Comet instance.", + "$ref": "GoogleCloudAiplatformV1CometInstance" + } + } + }, + "GoogleCloudAiplatformV1CometSpec": { + "id": "GoogleCloudAiplatformV1CometSpec", + "description": "Spec for Comet metric.", + "type": "object", + "properties": { + "version": { + "description": "Required. Which version to use for evaluation.", + "type": "string", + "enumDescriptions": [ + "Comet version unspecified.", + "Comet 22 for translation + source + reference (source-reference-combined)." + ], + "enum": [ + "COMET_VERSION_UNSPECIFIED", + "COMET_22_SRC_REF" + ] + }, + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CometInstance": { + "id": "GoogleCloudAiplatformV1CometInstance", + "description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MetricxInput": { + "id": "GoogleCloudAiplatformV1MetricxInput", + "description": "Input for MetricX metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for Metricx metric.", + "$ref": "GoogleCloudAiplatformV1MetricxSpec" + }, + "instance": { + "description": "Required. Metricx instance.", + "$ref": "GoogleCloudAiplatformV1MetricxInstance" + } + } + }, + "GoogleCloudAiplatformV1MetricxSpec": { + "id": "GoogleCloudAiplatformV1MetricxSpec", + "description": "Spec for MetricX metric.", + "type": "object", + "properties": { + "version": { + "description": "Required. Which version to use for evaluation.", + "type": "string", + "enumDescriptions": [ + "MetricX version unspecified.", + "MetricX 2024 (2.6) for translation + reference (reference-based).", + "MetricX 2024 (2.6) for translation + source (QE).", + "MetricX 2024 (2.6) for translation + source + reference (source-reference-combined)." + ], + "enum": [ + "METRICX_VERSION_UNSPECIFIED", + "METRICX_24_REF", + "METRICX_24_SRC", + "METRICX_24_SRC_REF" + ] + }, + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MetricxInstance": { + "id": "GoogleCloudAiplatformV1MetricxInstance", + "description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", + "type": "object", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchInput": { + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", + "description": "Instances and metric spec for TrajectoryExactMatch metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectoryExactMatch metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec" + }, + "instances": { + "description": "Required. Repeated TrajectoryExactMatch instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchSpec": { + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", + "description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchInstance": { + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance", + "description": "Spec for TrajectoryExactMatch instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + }, + "referenceTrajectory": { + "description": "Required. Spec for reference tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1Trajectory": { + "id": "GoogleCloudAiplatformV1Trajectory", + "description": "Spec for trajectory.", + "type": "object", + "properties": { + "toolCalls": { + "description": "Required. Tool calls in the trajectory.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolCall" + } + } + } + }, + "GoogleCloudAiplatformV1ToolCall": { + "id": "GoogleCloudAiplatformV1ToolCall", + "description": "Spec for tool call.", + "type": "object", + "properties": { + "toolName": { + "description": "Required. Spec for tool name", + "type": "string" + }, + "toolInput": { + "description": "Optional. Spec for tool input", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput": { + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", + "description": "Instances and metric spec for TrajectoryInOrderMatch metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectoryInOrderMatch metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec" + }, + "instances": { + "description": "Required. Repeated TrajectoryInOrderMatch instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec": { + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", + "description": "Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance": { + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance", + "description": "Spec for TrajectoryInOrderMatch instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + }, + "referenceTrajectory": { + "description": "Required. Spec for reference tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput": { + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", + "description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectoryAnyOrderMatch metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec" + }, + "instances": { + "description": "Required. Repeated TrajectoryAnyOrderMatch instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec": { + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", + "description": "Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance": { + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance", + "description": "Spec for TrajectoryAnyOrderMatch instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + }, + "referenceTrajectory": { + "description": "Required. Spec for reference tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionInput": { + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", + "description": "Instances and metric spec for TrajectoryPrecision metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectoryPrecision metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec" + }, + "instances": { + "description": "Required. Repeated TrajectoryPrecision instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionSpec": { + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", + "description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionInstance": { + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance", + "description": "Spec for TrajectoryPrecision instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + }, + "referenceTrajectory": { + "description": "Required. Spec for reference tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryRecallInput": { + "id": "GoogleCloudAiplatformV1TrajectoryRecallInput", + "description": "Instances and metric spec for TrajectoryRecall metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectoryRecall metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallSpec" + }, + "instances": { + "description": "Required. Repeated TrajectoryRecall instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryRecallSpec": { + "id": "GoogleCloudAiplatformV1TrajectoryRecallSpec", + "description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrajectoryRecallInstance": { + "id": "GoogleCloudAiplatformV1TrajectoryRecallInstance", + "description": "Spec for TrajectoryRecall instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + }, + "referenceTrajectory": { + "description": "Required. Spec for reference tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseInput": { + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", + "description": "Instances and metric spec for TrajectorySingleToolUse metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for TrajectorySingleToolUse metric.", + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec" + }, + "instances": { + "description": "Required. Repeated TrajectorySingleToolUse instance.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec": { + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", + "description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", + "type": "object", + "properties": { + "toolName": { + "description": "Required. Spec for tool name to be checked for in the predicted trajectory.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance": { + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance", + "description": "Spec for TrajectorySingleToolUse instance.", + "type": "object", + "properties": { + "predictedTrajectory": { + "description": "Required. Spec for predicted tool call trajectory.", + "$ref": "GoogleCloudAiplatformV1Trajectory" + } + } + }, + "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput": { + "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput", + "description": "Instance and metric spec for RubricBasedInstructionFollowing metric.", + "type": "object", + "properties": { + "metricSpec": { + "description": "Required. Spec for RubricBasedInstructionFollowing metric.", + "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec" + }, + "instance": { + "description": "Required. Instance for RubricBasedInstructionFollowing metric.", + "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance" + } + } + }, + "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec": { + "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec", + "description": "Spec for RubricBasedInstructionFollowing metric - returns rubrics and verdicts corresponding to rubrics along with overall score.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance": { + "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance", + "description": "Instance for RubricBasedInstructionFollowing metric - one instance corresponds to one row in an evaluation dataset.", + "type": "object", + "properties": { + "jsonInstance": { + "description": "Required. Instance specified as a json string. String key-value pairs are expected in the json_instance to render RubricBasedInstructionFollowing prompt templates.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Metric": { + "id": "GoogleCloudAiplatformV1Metric", + "description": "The metric used for running evaluations.", + "type": "object", + "properties": { + "predefinedMetricSpec": { + "description": "The spec for a pre-defined metric.", + "$ref": "GoogleCloudAiplatformV1PredefinedMetricSpec" + }, + "llmBasedMetricSpec": { + "description": "Spec for an LLM based metric.", + "$ref": "GoogleCloudAiplatformV1LLMBasedMetricSpec" + }, + "customCodeExecutionSpec": { + "description": "Spec for Custom Code Execution metric.", + "$ref": "GoogleCloudAiplatformV1CustomCodeExecutionSpec" + }, + "pointwiseMetricSpec": { + "description": "Spec for pointwise metric.", + "$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec" + }, + "pairwiseMetricSpec": { + "description": "Spec for pairwise metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec" + }, + "exactMatchSpec": { + "description": "Spec for exact match metric.", + "$ref": "GoogleCloudAiplatformV1ExactMatchSpec" + }, + "bleuSpec": { + "description": "Spec for bleu metric.", + "$ref": "GoogleCloudAiplatformV1BleuSpec" + }, + "rougeSpec": { + "description": "Spec for rouge metric.", + "$ref": "GoogleCloudAiplatformV1RougeSpec" + }, + "aggregationMetrics": { + "description": "Optional. The aggregation metrics to use.", + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "Unspecified aggregation metric.", + "Average aggregation metric. Not supported for Pairwise metric.", + "Mode aggregation metric.", + "Standard deviation aggregation metric. Not supported for pairwise metric.", + "Variance aggregation metric. Not supported for pairwise metric.", + "Minimum aggregation metric. Not supported for pairwise metric.", + "Maximum aggregation metric. Not supported for pairwise metric.", + "Median aggregation metric. Not supported for pairwise metric.", + "90th percentile aggregation metric. Not supported for pairwise metric.", + "95th percentile aggregation metric. Not supported for pairwise metric.", + "99th percentile aggregation metric. Not supported for pairwise metric." + ], + "enum": [ + "AGGREGATION_METRIC_UNSPECIFIED", + "AVERAGE", + "MODE", + "STANDARD_DEVIATION", + "VARIANCE", + "MINIMUM", + "MAXIMUM", + "MEDIAN", + "PERCENTILE_P90", + "PERCENTILE_P95", + "PERCENTILE_P99" + ] + } + } + } + }, + "GoogleCloudAiplatformV1PredefinedMetricSpec": { + "id": "GoogleCloudAiplatformV1PredefinedMetricSpec", + "description": "The spec for a pre-defined metric.", + "type": "object", + "properties": { + "metricSpecName": { + "description": "Required. The name of a pre-defined metric, such as \"instruction_following_v1\" or \"text_quality_v1\".", + "type": "string" + }, + "metricSpecParameters": { + "description": "Optional. The parameters needed to run the pre-defined metric.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1LLMBasedMetricSpec": { + "id": "GoogleCloudAiplatformV1LLMBasedMetricSpec", + "description": "Specification for an LLM based metric.", + "type": "object", + "properties": { + "rubricGroupKey": { + "description": "Use a pre-defined group of rubrics associated with the input. Refers to a key in the rubric_groups map of EvaluationInstance.", + "type": "string" + }, + "rubricGenerationSpec": { + "description": "Dynamically generate rubrics using this specification.", + "$ref": "GoogleCloudAiplatformV1RubricGenerationSpec" + }, + "predefinedRubricGenerationSpec": { + "description": "Dynamically generate rubrics using a predefined spec.", + "$ref": "GoogleCloudAiplatformV1PredefinedMetricSpec" + }, + "metricPromptTemplate": { + "description": "Required. Template for the prompt sent to the judge model.", + "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for the judge model.", + "type": "string" + }, + "judgeAutoraterConfig": { + "description": "Optional. Optional configuration for the judge LLM (Autorater).", + "$ref": "GoogleCloudAiplatformV1AutoraterConfig" + }, + "additionalConfig": { + "description": "Optional. Optional additional configuration for the metric.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1RubricGenerationSpec": { + "id": "GoogleCloudAiplatformV1RubricGenerationSpec", + "description": "Specification for how rubrics should be generated.", + "type": "object", + "properties": { + "promptTemplate": { + "description": "Template for the prompt used to generate rubrics. The details should be updated based on the most-recent recipe requirements.", + "type": "string" + }, + "modelConfig": { + "description": "Configuration for the model used in rubric generation. Configs including sampling count and base model can be specified here. Flipping is not supported for rubric generation.", + "$ref": "GoogleCloudAiplatformV1AutoraterConfig" + }, + "rubricContentType": { + "description": "The type of rubric content to be generated.", + "type": "string", + "enumDescriptions": [ + "The content type to generate is not specified.", + "Generate rubrics based on properties.", + "Generate rubrics in an NL question answer format.", + "Generate rubrics in a unit test format." + ], + "enum": [ + "RUBRIC_CONTENT_TYPE_UNSPECIFIED", + "PROPERTY", + "NL_QUESTION_ANSWER", + "PYTHON_CODE_ASSERTION" + ] + }, + "rubricTypeOntology": { + "description": "Optional. An optional, pre-defined list of allowed types for generated rubrics. If this field is provided, it implies `include_rubric_type` should be true, and the generated rubric types should be chosen from this ontology.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1AutoraterConfig": { + "id": "GoogleCloudAiplatformV1AutoraterConfig", + "description": "The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset.", + "type": "object", + "properties": { + "samplingCount": { + "description": "Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.", + "type": "integer", + "format": "int32" + }, + "flipEnabled": { + "description": "Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.", + "type": "boolean" + }, + "autoraterModel": { + "description": "Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "generationConfig": { + "description": "Optional. Configuration options for model generation and outputs.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" + } + } + }, + "GoogleCloudAiplatformV1GenerationConfig": { + "id": "GoogleCloudAiplatformV1GenerationConfig", + "description": "Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output.", + "type": "object", + "properties": { + "temperature": { + "description": "Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].", + "type": "number", + "format": "float" + }, + "topP": { + "description": "Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.", + "type": "number", + "format": "float" + }, + "topK": { + "description": "Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.", + "type": "number", + "format": "float" + }, + "candidateCount": { + "description": "Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.", + "type": "integer", + "format": "int32" + }, + "maxOutputTokens": { + "description": "Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.", + "type": "integer", + "format": "int32" + }, + "stopSequences": { + "description": "Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use [\"\\n\", \"###\"] to stop generation at a new line or a specific marker.", + "type": "array", + "items": { + "type": "string" + } + }, + "responseLogprobs": { + "description": "Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.", + "type": "boolean" + }, + "logprobs": { + "description": "Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.", + "type": "integer", + "format": "int32" + }, + "presencePenalty": { + "description": "Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].", + "type": "number", + "format": "float" + }, + "frequencyPenalty": { + "description": "Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].", + "type": "number", + "format": "float" + }, + "seed": { + "description": "Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the \"random\" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.", + "type": "integer", + "format": "int32" + }, + "responseMimeType": { + "description": "Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", + "type": "string" + }, + "responseSchema": { + "description": "Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.", + "$ref": "GoogleCloudAiplatformV1Schema" + }, + "responseJsonSchema": { + "description": "Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.", + "type": "any" + }, + "routingConfig": { + "description": "Optional. Routing configuration.", + "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig" + }, + "audioTimestamp": { + "description": "Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.", + "type": "boolean" + }, + "responseModalities": { + "description": "Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.", + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "Unspecified modality. Will be processed as text.", + "Text modality.", + "Image modality.", + "Audio modality." + ], + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "AUDIO" + ] + } + }, + "mediaResolution": { + "description": "Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.", + "type": "string", + "enumDescriptions": [ + "Media resolution has not been set.", + "Media resolution set to low (64 tokens).", + "Media resolution set to medium (256 tokens).", + "Media resolution set to high (zoomed reframing with 256 tokens)." + ], + "enum": [ + "MEDIA_RESOLUTION_UNSPECIFIED", + "MEDIA_RESOLUTION_LOW", + "MEDIA_RESOLUTION_MEDIUM", + "MEDIA_RESOLUTION_HIGH" + ] + }, + "speechConfig": { + "description": "Optional. The speech generation config.", + "$ref": "GoogleCloudAiplatformV1SpeechConfig" + }, + "thinkingConfig": { + "description": "Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.", + "$ref": "GoogleCloudAiplatformV1GenerationConfigThinkingConfig" + }, + "enableAffectiveDialog": { + "description": "Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.", + "type": "boolean" + }, + "imageConfig": { + "description": "Optional. Config for image generation features.", + "$ref": "GoogleCloudAiplatformV1ImageConfig" + } + } + }, + "GoogleCloudAiplatformV1Schema": { + "id": "GoogleCloudAiplatformV1Schema", + "description": "Schema is used to define the format of input/output data. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may be added in the future as needed.", + "type": "object", + "properties": { + "type": { + "description": "Optional. The type of the data.", + "type": "string", + "enumDescriptions": [ + "Not specified, should not be used.", + "OpenAPI string type", + "OpenAPI number type", + "OpenAPI integer type", + "OpenAPI boolean type", + "OpenAPI array type", + "OpenAPI object type", + "Null type" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "NUMBER", + "INTEGER", + "BOOLEAN", + "ARRAY", + "OBJECT", + "NULL" + ] + }, + "format": { + "description": "Optional. The format of the data. Supported formats: for NUMBER type: \"float\", \"double\" for INTEGER type: \"int32\", \"int64\" for STRING type: \"email\", \"byte\", etc", + "type": "string" + }, + "title": { + "description": "Optional. The title of the Schema.", + "type": "string" + }, + "description": { + "description": "Optional. The description of the data.", + "type": "string" + }, + "nullable": { + "description": "Optional. Indicates if the value may be null.", + "type": "boolean" + }, + "default": { + "description": "Optional. Default value of the data.", + "type": "any" + }, + "items": { + "description": "Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY.", + "$ref": "GoogleCloudAiplatformV1Schema" + }, + "minItems": { + "description": "Optional. Minimum number of the elements for Type.ARRAY.", + "type": "string", + "format": "int64" + }, + "maxItems": { + "description": "Optional. Maximum number of the elements for Type.ARRAY.", + "type": "string", + "format": "int64" + }, + "enum": { + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", + "type": "array", + "items": { + "type": "string" + } + }, + "properties": { + "description": "Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1Schema" + } + }, + "propertyOrdering": { + "description": "Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties.", + "type": "array", + "items": { + "type": "string" + } + }, + "required": { + "description": "Optional. Required properties of Type.OBJECT.", + "type": "array", + "items": { + "type": "string" + } + }, + "minProperties": { + "description": "Optional. Minimum number of the properties for Type.OBJECT.", + "type": "string", + "format": "int64" + }, + "maxProperties": { + "description": "Optional. Maximum number of the properties for Type.OBJECT.", + "type": "string", + "format": "int64" + }, + "minimum": { + "description": "Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER", + "type": "number", + "format": "double" + }, + "maximum": { + "description": "Optional. Maximum value of the Type.INTEGER and Type.NUMBER", + "type": "number", + "format": "double" + }, + "minLength": { + "description": "Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING", + "type": "string", + "format": "int64" + }, + "maxLength": { + "description": "Optional. Maximum length of the Type.STRING", + "type": "string", + "format": "int64" + }, + "pattern": { + "description": "Optional. Pattern of the Type.STRING to restrict a string to a regular expression.", + "type": "string" + }, + "example": { + "description": "Optional. Example of the object. Will only populated when the object is the root.", + "type": "any" + }, + "anyOf": { + "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Schema" + } + }, + "additionalProperties": { + "description": "Optional. Can either be a boolean or an object; controls the presence of additional properties.", + "type": "any" + }, + "ref": { + "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring", + "type": "string" + }, + "defs": { + "description": "Optional. A map of definitions for use by `ref` Only allowed at the root of the schema.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1Schema" + } + } + } + }, + "GoogleCloudAiplatformV1GenerationConfigRoutingConfig": { + "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig", + "description": "The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name.", + "type": "object", + "properties": { + "autoMode": { + "description": "In this mode, the model is selected automatically based on the content of the request.", + "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode" + }, + "manualMode": { + "description": "In this mode, the model is specified manually.", + "$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode" + } + } + }, + "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode": { + "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode", + "description": "The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference.", + "type": "object", + "properties": { + "modelRoutingPreference": { + "description": "The model routing preference.", + "type": "string", + "enumDescriptions": [ + "Unspecified model routing preference.", + "The model will be selected to prioritize the quality of the response.", + "The model will be selected to balance quality and cost.", + "The model will be selected to prioritize the cost of the request." + ], + "enum": [ + "UNKNOWN", + "PRIORITIZE_QUALITY", + "BALANCED", + "PRIORITIZE_COST" + ] + } + } + }, + "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode": { + "id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode", + "description": "The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided.", + "type": "object", + "properties": { + "modelName": { + "description": "The name of the model to use. Only public LLM models are accepted.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SpeechConfig": { + "id": "GoogleCloudAiplatformV1SpeechConfig", + "description": "Configuration for speech generation.", + "type": "object", + "properties": { + "voiceConfig": { + "description": "The configuration for the voice to use.", + "$ref": "GoogleCloudAiplatformV1VoiceConfig" + }, + "languageCode": { + "description": "Optional. The language code (ISO 639-1) for the speech synthesis.", + "type": "string" + }, + "multiSpeakerVoiceConfig": { + "description": "The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.", + "$ref": "GoogleCloudAiplatformV1MultiSpeakerVoiceConfig" + } + } + }, + "GoogleCloudAiplatformV1VoiceConfig": { + "id": "GoogleCloudAiplatformV1VoiceConfig", + "description": "Configuration for a voice.", + "type": "object", + "properties": { + "prebuiltVoiceConfig": { + "description": "The configuration for a prebuilt voice.", + "$ref": "GoogleCloudAiplatformV1PrebuiltVoiceConfig" + } + } + }, + "GoogleCloudAiplatformV1PrebuiltVoiceConfig": { + "id": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", + "description": "Configuration for a prebuilt voice.", + "type": "object", + "properties": { + "voiceName": { + "description": "The name of the prebuilt voice to use.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MultiSpeakerVoiceConfig": { + "id": "GoogleCloudAiplatformV1MultiSpeakerVoiceConfig", + "description": "Configuration for a multi-speaker text-to-speech request.", + "type": "object", + "properties": { + "speakerVoiceConfigs": { + "description": "Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SpeakerVoiceConfig" + } + } + } + }, + "GoogleCloudAiplatformV1SpeakerVoiceConfig": { + "id": "GoogleCloudAiplatformV1SpeakerVoiceConfig", + "description": "Configuration for a single speaker in a multi-speaker setup.", + "type": "object", + "properties": { + "speaker": { + "description": "Required. The name of the speaker. This should be the same as the speaker name used in the prompt.", + "type": "string" + }, + "voiceConfig": { + "description": "Required. The configuration for the voice of this speaker.", + "$ref": "GoogleCloudAiplatformV1VoiceConfig" + } + } + }, + "GoogleCloudAiplatformV1GenerationConfigThinkingConfig": { + "id": "GoogleCloudAiplatformV1GenerationConfigThinkingConfig", + "description": "Configuration for the model's thinking features. \"Thinking\" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response.", + "type": "object", + "properties": { + "includeThoughts": { + "description": "Optional. If true, the model will include its thoughts in the response. \"Thoughts\" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.", + "type": "boolean" + }, + "thinkingBudget": { + "description": "Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ImageConfig": { + "id": "GoogleCloudAiplatformV1ImageConfig", + "description": "Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people.", + "type": "object", + "properties": { + "imageOutputOptions": { + "description": "Optional. The image output format for generated images.", + "$ref": "GoogleCloudAiplatformV1ImageConfigImageOutputOptions" + }, + "aspectRatio": { + "description": "Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: \"1:1\" \"2:3\", \"3:2\" \"3:4\", \"4:3\" \"4:5\", \"5:4\" \"9:16\", \"16:9\" \"21:9\"", + "type": "string" + }, + "personGeneration": { + "description": "Optional. Controls whether the model can generate people.", + "type": "string", + "enumDescriptions": [ + "The default behavior is unspecified. The model will decide whether to generate images of people.", + "Allows the model to generate images of people, including adults and children.", + "Allows the model to generate images of adults, but not children.", + "Prevents the model from generating images of people." + ], + "enum": [ + "PERSON_GENERATION_UNSPECIFIED", + "ALLOW_ALL", + "ALLOW_ADULT", + "ALLOW_NONE" + ] + } + } + }, + "GoogleCloudAiplatformV1ImageConfigImageOutputOptions": { + "id": "GoogleCloudAiplatformV1ImageConfigImageOutputOptions", + "description": "The image output format for generated images.", + "type": "object", + "properties": { + "mimeType": { + "description": "Optional. The image format that the output should be saved as.", + "type": "string" + }, + "compressionQuality": { + "description": "Optional. The compression quality of the output image.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1CustomCodeExecutionSpec": { + "id": "GoogleCloudAiplatformV1CustomCodeExecutionSpec", + "description": "Specificies a metric that is populated by evaluating user-defined Python code.", + "type": "object", + "properties": { + "evaluationFunction": { + "description": "Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -\u003e float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text=\"The answer is 4.\"), reference=EvaluationInstance.InstanceData(text=\"4\") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -\u003e float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstance": { + "id": "GoogleCloudAiplatformV1EvaluationInstance", + "description": "A single instance to be evaluated. Instances are used to specify the input data for evaluation, from simple string comparisons to complex, multi-turn model evaluations", + "type": "object", + "properties": { + "prompt": { + "description": "Optional. Data used to populate placeholder `prompt` in a metric prompt template.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + }, + "rubricGroups": { + "description": "Optional. Named groups of rubrics associated with the prompt. This is used for rubric-based evaluations where rubrics can be referenced by a key. The key could represent versions, associated metrics, etc.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1RubricGroup" + } + }, + "response": { + "description": "Optional. Data used to populate placeholder `response` in a metric prompt template.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + }, + "reference": { + "description": "Optional. Data used to populate placeholder `reference` in a metric prompt template.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + }, + "otherData": { + "description": "Optional. Other data used to populate placeholders based on their key.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceMapInstance" + }, + "agentData": { + "description": "Optional. Data used for agent evaluation.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentData" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceInstanceData": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData", + "description": "Instance data used to populate placeholders in a metric prompt template.", + "type": "object", + "properties": { + "text": { + "description": "Text data.", + "type": "string" + }, + "contents": { + "description": "List of Gemini content data.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents", + "description": "List of standard Content messages from Gemini API.", + "type": "object", + "properties": { + "contents": { + "description": "Optional. Repeated contents.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + } + } + }, + "GoogleCloudAiplatformV1RubricGroup": { + "id": "GoogleCloudAiplatformV1RubricGroup", + "description": "A group of rubrics, used for grouping rubrics based on a metric or a version.", + "type": "object", + "properties": { + "groupId": { + "description": "Unique identifier for the group.", + "type": "string" + }, + "displayName": { + "description": "Human-readable name for the group. This should be unique within a given context if used for display or selection. Example: \"Instruction Following V1\", \"Content Quality - Summarization Task\".", + "type": "string" + }, + "rubrics": { + "description": "Rubrics that are part of this group.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Rubric" + } + } + } + }, + "GoogleCloudAiplatformV1Rubric": { + "id": "GoogleCloudAiplatformV1Rubric", + "description": "Message representing a single testable criterion for evaluation. One input prompt could have multiple rubrics.", + "type": "object", + "properties": { + "rubricId": { + "description": "Unique identifier for the rubric. This ID is used to refer to this rubric, e.g., in RubricVerdict.", + "type": "string" + }, + "content": { + "description": "Required. The actual testable criteria for the rubric.", + "$ref": "GoogleCloudAiplatformV1RubricContent" + }, + "type": { + "description": "Optional. A type designator for the rubric, which can inform how it's evaluated or interpreted by systems or users. It's recommended to use consistent, well-defined, upper snake_case strings. Examples: \"SUMMARIZATION_QUALITY\", \"SAFETY_HARMFUL_CONTENT\", \"INSTRUCTION_ADHERENCE\".", + "type": "string" + }, + "importance": { + "description": "Optional. The relative importance of this rubric.", + "type": "string", + "enumDescriptions": [ + "Importance is not specified.", + "High importance.", + "Medium importance.", + "Low importance." + ], + "enum": [ + "IMPORTANCE_UNSPECIFIED", + "HIGH", + "MEDIUM", + "LOW" + ] + } + } + }, + "GoogleCloudAiplatformV1RubricContent": { + "id": "GoogleCloudAiplatformV1RubricContent", + "description": "Content of the rubric, defining the testable criteria.", + "type": "object", + "properties": { + "property": { + "description": "Evaluation criteria based on a specific property.", + "$ref": "GoogleCloudAiplatformV1RubricContentProperty" + } + } + }, + "GoogleCloudAiplatformV1RubricContentProperty": { + "id": "GoogleCloudAiplatformV1RubricContentProperty", + "description": "Defines criteria based on a specific property.", + "type": "object", + "properties": { + "description": { + "description": "Description of the property being evaluated. Example: \"The model's response is grammatically correct.\"", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceMapInstance": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceMapInstance", + "description": "Instance data specified as a map.", + "type": "object", + "properties": { + "mapInstance": { + "description": "Optional. Map of instance data.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceAgentData": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", + "description": "Contains data specific to agent evaluations.", + "type": "object", + "properties": { + "toolsText": { + "description": "A JSON string containing a list of tools available to an agent with info such as name, description, parameters and required parameters. Example: [ { \"name\": \"search_actors\", \"description\": \"Search for actors in a movie. Returns a list of actors, their roles, their birthdate, and their place of birth.\", \"parameters\": [ { \"name\": \"movie_name\", \"description\": \"The name of the movie.\" }, { \"name\": \"character_name\", \"description\": \"The name of the character.\" } ], \"required\": [\"movie_name\", \"character_name\"] } ]", + "deprecated": true, + "type": "string" + }, + "tools": { + "description": "List of tools.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataTools" + }, + "events": { + "description": "A list of events.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataEvents" + }, + "developerInstruction": { + "description": "Optional. A field containing instructions from the developer for the agent.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + }, + "agentConfig": { + "description": "Optional. Agent configuration.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceAgentDataTools": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataTools", + "description": "Represents a list of tools for an agent.", + "type": "object", + "properties": { + "tool": { + "description": "Optional. List of tools: each tool can have multiple function declarations.", + "deprecated": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + } + } + }, + "GoogleCloudAiplatformV1Tool": { + "id": "GoogleCloudAiplatformV1Tool", + "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", + "type": "object", + "properties": { + "functionDeclarations": { + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FunctionDeclaration" + } + }, + "retrieval": { + "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.", + "$ref": "GoogleCloudAiplatformV1Retrieval" + }, + "googleSearch": { + "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", + "$ref": "GoogleCloudAiplatformV1ToolGoogleSearch" + }, + "googleSearchRetrieval": { + "description": "Optional. Specialized retrieval tool that is powered by Google Search.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1GoogleSearchRetrieval" + }, + "googleMaps": { + "description": "Optional. GoogleMaps tool type. Tool to support Google Maps in Model.", + "$ref": "GoogleCloudAiplatformV1GoogleMaps" + }, + "enterpriseWebSearch": { + "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.", + "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch" + }, + "codeExecution": { + "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation.", + "$ref": "GoogleCloudAiplatformV1ToolCodeExecution" + }, + "urlContext": { + "description": "Optional. Tool to support URL context retrieval.", + "$ref": "GoogleCloudAiplatformV1UrlContext" + }, + "computerUse": { + "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.", + "$ref": "GoogleCloudAiplatformV1ToolComputerUse" + } + } + }, + "GoogleCloudAiplatformV1FunctionDeclaration": { + "id": "GoogleCloudAiplatformV1FunctionDeclaration", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", + "type": "object", + "properties": { + "name": { + "description": "Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64.", + "type": "string" + }, + "description": { + "description": "Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.", + "type": "string" + }, + "parameters": { + "description": "Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1", + "$ref": "GoogleCloudAiplatformV1Schema" + }, + "parametersJsonSchema": { + "description": "Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"age\": { \"type\": \"integer\" } }, \"additionalProperties\": false, \"required\": [\"name\", \"age\"], \"propertyOrdering\": [\"name\", \"age\"] } ``` This field is mutually exclusive with `parameters`.", + "type": "any" + }, + "response": { + "description": "Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.", + "$ref": "GoogleCloudAiplatformV1Schema" + }, + "responseJsonSchema": { + "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1Retrieval": { + "id": "GoogleCloudAiplatformV1Retrieval", + "description": "Defines a retrieval tool that model can call to access external knowledge.", + "type": "object", + "properties": { + "vertexAiSearch": { + "description": "Set to use data source powered by Vertex AI Search.", + "$ref": "GoogleCloudAiplatformV1VertexAISearch" + }, + "vertexRagStore": { + "description": "Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.", + "$ref": "GoogleCloudAiplatformV1VertexRagStore" + }, + "externalApi": { + "description": "Use data source powered by external API for grounding.", + "$ref": "GoogleCloudAiplatformV1ExternalApi" + }, + "disableAttribution": { + "description": "Optional. Deprecated. This option is no longer supported.", + "deprecated": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1VertexAISearch": { + "id": "GoogleCloudAiplatformV1VertexAISearch", + "description": "Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder", + "type": "object", + "properties": { + "datastore": { + "description": "Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "engine": { + "description": "Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "type": "string" + }, + "maxResults": { + "description": "Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.", + "type": "integer", + "format": "int32" + }, + "filter": { + "description": "Optional. Filter strings to be passed to the search API.", + "type": "string" + }, + "dataStoreSpecs": { + "description": "Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec" + } + } + } + }, + "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec": { + "id": "GoogleCloudAiplatformV1VertexAISearchDataStoreSpec", + "description": "Define data stores within engine to filter on in a search call and configurations for those data stores. For more information, see https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec", + "type": "object", + "properties": { + "dataStore": { + "description": "Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "filter": { + "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1VertexRagStore": { + "id": "GoogleCloudAiplatformV1VertexRagStore", + "description": "Retrieve from Vertex RAG Store for grounding.", + "type": "object", + "properties": { + "ragResources": { + "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1VertexRagStoreRagResource" + } + }, + "similarityTopK": { + "description": "Optional. Number of top k results to return from the selected corpora.", + "deprecated": true, + "type": "integer", + "format": "int32" + }, + "vectorDistanceThreshold": { + "description": "Optional. Only return results with vector distance smaller than the threshold.", + "deprecated": true, + "type": "number", + "format": "double" + }, + "ragRetrievalConfig": { + "description": "Optional. The retrieval config for the Rag query.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig" + } + } + }, + "GoogleCloudAiplatformV1VertexRagStoreRagResource": { + "id": "GoogleCloudAiplatformV1VertexRagStoreRagResource", + "description": "The definition of the Rag resource.", + "type": "object", + "properties": { + "ragCorpus": { + "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "type": "string" + }, + "ragFileIds": { + "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RagRetrievalConfig": { + "id": "GoogleCloudAiplatformV1RagRetrievalConfig", + "description": "Specifies the context retrieval config.", + "type": "object", + "properties": { + "topK": { + "description": "Optional. The number of contexts to retrieve.", + "type": "integer", + "format": "int32" + }, + "filter": { + "description": "Optional. Config for filters.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigFilter" + }, + "ranking": { + "description": "Optional. Config for ranking and reranking.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRanking" + } + } + }, + "GoogleCloudAiplatformV1RagRetrievalConfigFilter": { + "id": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", + "description": "Config for filters.", + "type": "object", + "properties": { + "vectorDistanceThreshold": { + "description": "Optional. Only returns contexts with vector distance smaller than the threshold.", + "type": "number", + "format": "double" + }, + "vectorSimilarityThreshold": { + "description": "Optional. Only returns contexts with vector similarity larger than the threshold.", + "type": "number", + "format": "double" + }, + "metadataFilter": { + "description": "Optional. String for metadata filtering.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagRetrievalConfigRanking": { + "id": "GoogleCloudAiplatformV1RagRetrievalConfigRanking", + "description": "Config for ranking and reranking.", + "type": "object", + "properties": { + "rankService": { + "description": "Optional. Config for Rank Service.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService" + }, + "llmRanker": { + "description": "Optional. Config for LlmRanker.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker" + } + } + }, + "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService": { + "id": "GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService", + "description": "Config for Rank Service.", + "type": "object", + "properties": { + "modelName": { + "description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker": { + "id": "GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker", + "description": "Config for LlmRanker.", + "type": "object", + "properties": { + "modelName": { + "description": "Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExternalApi": { + "id": "GoogleCloudAiplatformV1ExternalApi", + "description": "Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec.", + "type": "object", + "properties": { + "simpleSearchParams": { + "description": "Parameters for the simple search API.", + "$ref": "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams" + }, + "elasticSearchParams": { + "description": "Parameters for the elastic search API.", + "$ref": "GoogleCloudAiplatformV1ExternalApiElasticSearchParams" + }, + "apiSpec": { + "description": "The API spec that the external API implements.", + "type": "string", + "enumDescriptions": [ + "Unspecified API spec. This value should not be used.", + "Simple search API spec.", + "Elastic search API spec." + ], + "enum": [ + "API_SPEC_UNSPECIFIED", + "SIMPLE_SEARCH", + "ELASTIC_SEARCH" + ] + }, + "endpoint": { + "description": "The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search", + "type": "string" + }, + "apiAuth": { + "description": "The authentication config to access the API. Deprecated. Please use auth_config instead.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1ApiAuth" + }, + "authConfig": { + "description": "The authentication config to access the API.", + "$ref": "GoogleCloudAiplatformV1AuthConfig" + } + } + }, + "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams": { + "id": "GoogleCloudAiplatformV1ExternalApiSimpleSearchParams", + "description": "The search parameters to use for SIMPLE_SEARCH spec.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ExternalApiElasticSearchParams": { + "id": "GoogleCloudAiplatformV1ExternalApiElasticSearchParams", + "description": "The search parameters to use for the ELASTIC_SEARCH spec.", + "type": "object", + "properties": { + "index": { + "description": "The ElasticSearch index to use.", + "type": "string" + }, + "searchTemplate": { + "description": "The ElasticSearch search template to use.", + "type": "string" + }, + "numHits": { + "description": "Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ApiAuth": { + "id": "GoogleCloudAiplatformV1ApiAuth", + "description": "The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead.", + "type": "object", + "properties": { + "apiKeyConfig": { + "description": "The API secret.", + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" + } + } + }, + "GoogleCloudAiplatformV1ApiAuthApiKeyConfig": { + "id": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "description": "The API secret.", + "type": "object", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}", + "type": "string" + }, + "apiKeyString": { + "description": "The API key string. Either this or `api_key_secret_version` must be set.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AuthConfig": { + "id": "GoogleCloudAiplatformV1AuthConfig", + "description": "Auth configuration to run the extension.", + "type": "object", + "properties": { + "apiKeyConfig": { + "description": "Config for API key auth.", + "$ref": "GoogleCloudAiplatformV1AuthConfigApiKeyConfig" + }, + "httpBasicAuthConfig": { + "description": "Config for HTTP Basic auth.", + "$ref": "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig" + }, + "googleServiceAccountConfig": { + "description": "Config for Google Service Account auth.", + "$ref": "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig" + }, + "oauthConfig": { + "description": "Config for user oauth.", + "$ref": "GoogleCloudAiplatformV1AuthConfigOauthConfig" + }, + "oidcConfig": { + "description": "Config for user OIDC auth.", + "$ref": "GoogleCloudAiplatformV1AuthConfigOidcConfig" + }, + "authType": { + "description": "Type of auth scheme.", + "type": "string", + "enumDescriptions": [ + "", + "No Auth.", + "API Key Auth.", + "HTTP Basic Auth.", + "Google Service Account Auth.", + "OAuth auth.", + "OpenID Connect (OIDC) Auth." + ], + "enum": [ + "AUTH_TYPE_UNSPECIFIED", + "NO_AUTH", + "API_KEY_AUTH", + "HTTP_BASIC_AUTH", + "GOOGLE_SERVICE_ACCOUNT_AUTH", + "OAUTH", + "OIDC_AUTH" + ] + } + } + }, + "GoogleCloudAiplatformV1AuthConfigApiKeyConfig": { + "id": "GoogleCloudAiplatformV1AuthConfigApiKeyConfig", + "description": "Config for authentication with API key.", + "type": "object", + "properties": { + "name": { + "description": "Optional. The parameter name of the API key. E.g. If the API request is \"https://example.com/act?api_key=\", \"api_key\" would be the parameter name.", + "type": "string" + }, + "apiKeySecret": { + "description": "Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", + "type": "string" + }, + "apiKeyString": { + "description": "Optional. The API key to be used in the request directly.", + "type": "string" + }, + "httpElementLocation": { + "description": "Optional. The location of the API key.", + "type": "string", + "enumDescriptions": [ + "", + "Element is in the HTTP request query.", + "Element is in the HTTP request header.", + "Element is in the HTTP request path.", + "Element is in the HTTP request body.", + "Element is in the HTTP request cookie." + ], + "enum": [ + "HTTP_IN_UNSPECIFIED", + "HTTP_IN_QUERY", + "HTTP_IN_HEADER", + "HTTP_IN_PATH", + "HTTP_IN_BODY", + "HTTP_IN_COOKIE" + ] + } + } + }, + "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig": { + "id": "GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig", + "description": "Config for HTTP Basic Authentication.", + "type": "object", + "properties": { + "credentialSecret": { + "description": "Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig": { + "id": "GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig", + "description": "Config for Google Service Account Authentication.", + "type": "object", + "properties": { + "serviceAccount": { + "description": "Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AuthConfigOauthConfig": { + "id": "GoogleCloudAiplatformV1AuthConfigOauthConfig", + "description": "Config for user oauth.", + "type": "object", + "properties": { + "accessToken": { + "description": "Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.", + "type": "string" + }, + "serviceAccount": { + "description": "The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AuthConfigOidcConfig": { + "id": "GoogleCloudAiplatformV1AuthConfigOidcConfig", + "description": "Config for user OIDC auth.", + "type": "object", + "properties": { + "idToken": { + "description": "OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.", + "type": "string" + }, + "serviceAccount": { + "description": "The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ToolGoogleSearch": { + "id": "GoogleCloudAiplatformV1ToolGoogleSearch", + "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", + "type": "object", + "properties": { + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: [\"amazon.com\", \"facebook.com\"].", + "type": "array", + "items": { + "type": "string" + } + }, + "blockingConfidence": { + "description": "Optional. Sites with confidence level chosen & above this value will be blocked from the search results.", + "type": "string", + "enumDescriptions": [ + "Defaults to unspecified.", + "Blocks Low and above confidence URL that is risky.", + "Blocks Medium and above confidence URL that is risky.", + "Blocks High and above confidence URL that is risky.", + "Blocks Higher and above confidence URL that is risky.", + "Blocks Very high and above confidence URL that is risky.", + "Blocks Extremely high confidence URL that is risky." + ], + "enum": [ + "PHISH_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_HIGH_AND_ABOVE", + "BLOCK_HIGHER_AND_ABOVE", + "BLOCK_VERY_HIGH_AND_ABOVE", + "BLOCK_ONLY_EXTREMELY_HIGH" + ] + } + } + }, + "GoogleCloudAiplatformV1GoogleSearchRetrieval": { + "id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", + "description": "Tool to retrieve public web data for grounding, powered by Google.", + "type": "object", + "properties": { + "dynamicRetrievalConfig": { + "description": "Specifies the dynamic retrieval configuration for the given source.", + "$ref": "GoogleCloudAiplatformV1DynamicRetrievalConfig" + } + } + }, + "GoogleCloudAiplatformV1DynamicRetrievalConfig": { + "id": "GoogleCloudAiplatformV1DynamicRetrievalConfig", + "description": "Describes the options to customize dynamic retrieval.", + "type": "object", + "properties": { + "mode": { + "description": "The mode of the predictor to be used in dynamic retrieval.", + "type": "string", + "enumDescriptions": [ + "Always trigger retrieval.", + "Run retrieval only when system decides it is necessary." + ], + "enum": [ + "MODE_UNSPECIFIED", + "MODE_DYNAMIC" + ] + }, + "dynamicThreshold": { + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1GoogleMaps": { + "id": "GoogleCloudAiplatformV1GoogleMaps", + "description": "Tool to retrieve public maps data for grounding, powered by Google.", + "type": "object", + "properties": { + "enableWidget": { + "description": "Optional. If true, include the widget context token in the response.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1EnterpriseWebSearch": { + "id": "GoogleCloudAiplatformV1EnterpriseWebSearch", + "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.", + "type": "object", + "properties": { + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.", + "type": "array", + "items": { + "type": "string" + } + }, + "blockingConfidence": { + "description": "Optional. Sites with confidence level chosen & above this value will be blocked from the search results.", + "type": "string", + "enumDescriptions": [ + "Defaults to unspecified.", + "Blocks Low and above confidence URL that is risky.", + "Blocks Medium and above confidence URL that is risky.", + "Blocks High and above confidence URL that is risky.", + "Blocks Higher and above confidence URL that is risky.", + "Blocks Very high and above confidence URL that is risky.", + "Blocks Extremely high confidence URL that is risky." + ], + "enum": [ + "PHISH_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_HIGH_AND_ABOVE", + "BLOCK_HIGHER_AND_ABOVE", + "BLOCK_VERY_HIGH_AND_ABOVE", + "BLOCK_ONLY_EXTREMELY_HIGH" + ] + } + } + }, + "GoogleCloudAiplatformV1ToolCodeExecution": { + "id": "GoogleCloudAiplatformV1ToolCodeExecution", + "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1UrlContext": { + "id": "GoogleCloudAiplatformV1UrlContext", + "description": "Tool to support URL context.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ToolComputerUse": { + "id": "GoogleCloudAiplatformV1ToolComputerUse", + "description": "Tool to support computer use.", + "type": "object", + "properties": { + "environment": { + "description": "Required. The environment being operated.", + "type": "string", + "enumDescriptions": [ + "Defaults to browser.", + "Operates in a web browser." + ], + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_BROWSER" + ] + }, + "excludedPredefinedFunctions": { + "description": "Optional. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceAgentDataEvents": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataEvents", + "description": "Represents a list of events for an agent.", + "type": "object", + "properties": { + "event": { + "description": "Optional. A list of events.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig", + "description": "Configuration for an Agent.", + "type": "object", + "properties": { + "toolsText": { + "description": "A JSON string containing a list of tools available to an agent with info such as name, description, parameters and required parameters.", + "type": "string" + }, + "tools": { + "description": "List of tools.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfigTools" + }, + "developerInstruction": { + "description": "Optional. A field containing instructions from the developer for the agent.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceInstanceData" + } + } + }, + "GoogleCloudAiplatformV1EvaluationInstanceAgentConfigTools": { + "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfigTools", + "description": "Represents a list of tools for an agent.", + "type": "object", + "properties": { + "tool": { + "description": "Optional. List of tools: each tool can have multiple function declarations.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluateInstancesResponse": { + "id": "GoogleCloudAiplatformV1EvaluateInstancesResponse", + "description": "Response message for EvaluationService.EvaluateInstances.", + "type": "object", + "properties": { + "exactMatchResults": { + "description": "Auto metric evaluation results. Results for exact match metric.", + "$ref": "GoogleCloudAiplatformV1ExactMatchResults" + }, + "bleuResults": { + "description": "Results for bleu metric.", + "$ref": "GoogleCloudAiplatformV1BleuResults" + }, + "rougeResults": { + "description": "Results for rouge metric.", + "$ref": "GoogleCloudAiplatformV1RougeResults" + }, + "fluencyResult": { + "description": "LLM-based metric evaluation result. General text generation metrics, applicable to other categories. Result for fluency metric.", + "$ref": "GoogleCloudAiplatformV1FluencyResult" + }, + "coherenceResult": { + "description": "Result for coherence metric.", + "$ref": "GoogleCloudAiplatformV1CoherenceResult" + }, + "safetyResult": { + "description": "Result for safety metric.", + "$ref": "GoogleCloudAiplatformV1SafetyResult" + }, + "groundednessResult": { + "description": "Result for groundedness metric.", + "$ref": "GoogleCloudAiplatformV1GroundednessResult" + }, + "fulfillmentResult": { + "description": "Result for fulfillment metric.", + "$ref": "GoogleCloudAiplatformV1FulfillmentResult" + }, + "summarizationQualityResult": { + "description": "Summarization only metrics. Result for summarization quality metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationQualityResult" + }, + "pairwiseSummarizationQualityResult": { + "description": "Result for pairwise summarization quality metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult" + }, + "summarizationHelpfulnessResult": { + "description": "Result for summarization helpfulness metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult" + }, + "summarizationVerbosityResult": { + "description": "Result for summarization verbosity metric.", + "$ref": "GoogleCloudAiplatformV1SummarizationVerbosityResult" + }, + "questionAnsweringQualityResult": { + "description": "Question answering only metrics. Result for question answering quality metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult" + }, + "pairwiseQuestionAnsweringQualityResult": { + "description": "Result for pairwise question answering quality metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult" + }, + "questionAnsweringRelevanceResult": { + "description": "Result for question answering relevance metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult" + }, + "questionAnsweringHelpfulnessResult": { + "description": "Result for question answering helpfulness metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult" + }, + "questionAnsweringCorrectnessResult": { + "description": "Result for question answering correctness metric.", + "$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult" + }, + "pointwiseMetricResult": { + "description": "Generic metrics. Result for pointwise metric.", + "$ref": "GoogleCloudAiplatformV1PointwiseMetricResult" + }, + "pairwiseMetricResult": { + "description": "Result for pairwise metric.", + "$ref": "GoogleCloudAiplatformV1PairwiseMetricResult" + }, + "toolCallValidResults": { + "description": "Tool call metrics. Results for tool call valid metric.", + "$ref": "GoogleCloudAiplatformV1ToolCallValidResults" + }, + "toolNameMatchResults": { + "description": "Results for tool name match metric.", + "$ref": "GoogleCloudAiplatformV1ToolNameMatchResults" + }, + "toolParameterKeyMatchResults": { + "description": "Results for tool parameter key match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults" + }, + "toolParameterKvMatchResults": { + "description": "Results for tool parameter key value match metric.", + "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchResults" + }, + "cometResult": { + "description": "Translation metrics. Result for Comet metric.", + "$ref": "GoogleCloudAiplatformV1CometResult" + }, + "metricxResult": { + "description": "Result for Metricx metric.", + "$ref": "GoogleCloudAiplatformV1MetricxResult" + }, + "trajectoryExactMatchResults": { + "description": "Result for trajectory exact match metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchResults" + }, + "trajectoryInOrderMatchResults": { + "description": "Result for trajectory in order match metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults" + }, + "trajectoryAnyOrderMatchResults": { + "description": "Result for trajectory any order match metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults" + }, + "trajectoryPrecisionResults": { + "description": "Result for trajectory precision metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionResults" + }, + "trajectoryRecallResults": { + "description": "Results for trajectory recall metric.", + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallResults" + }, + "trajectorySingleToolUseResults": { + "description": "Results for trajectory single tool use metric.", + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults" + }, + "rubricBasedInstructionFollowingResult": { + "description": "Result for rubric based instruction following metric.", + "$ref": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult" + }, + "metricResults": { + "description": "Metric results for each instance. The order of the metric results is guaranteed to be the same as the order of the instances in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MetricResult" + } + } + } + }, + "GoogleCloudAiplatformV1ExactMatchResults": { + "id": "GoogleCloudAiplatformV1ExactMatchResults", + "description": "Results for exact match metric.", + "type": "object", + "properties": { + "exactMatchMetricValues": { + "description": "Output only. Exact match metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ExactMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1ExactMatchMetricValue": { + "id": "GoogleCloudAiplatformV1ExactMatchMetricValue", + "description": "Exact match metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Exact match score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1BleuResults": { + "id": "GoogleCloudAiplatformV1BleuResults", + "description": "Results for bleu metric.", + "type": "object", + "properties": { + "bleuMetricValues": { + "description": "Output only. Bleu metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BleuMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1BleuMetricValue": { + "id": "GoogleCloudAiplatformV1BleuMetricValue", + "description": "Bleu metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Bleu score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1RougeResults": { + "id": "GoogleCloudAiplatformV1RougeResults", + "description": "Results for rouge metric.", + "type": "object", + "properties": { + "rougeMetricValues": { + "description": "Output only. Rouge metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RougeMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1RougeMetricValue": { + "id": "GoogleCloudAiplatformV1RougeMetricValue", + "description": "Rouge metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Rouge score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1FluencyResult": { + "id": "GoogleCloudAiplatformV1FluencyResult", + "description": "Spec for fluency result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Fluency score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for fluency score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for fluency score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1CoherenceResult": { + "id": "GoogleCloudAiplatformV1CoherenceResult", + "description": "Spec for coherence result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Coherence score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for coherence score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for coherence score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SafetyResult": { + "id": "GoogleCloudAiplatformV1SafetyResult", + "description": "Spec for safety result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Safety score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for safety score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for safety score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1GroundednessResult": { + "id": "GoogleCloudAiplatformV1GroundednessResult", + "description": "Spec for groundedness result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Groundedness score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for groundedness score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for groundedness score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1FulfillmentResult": { + "id": "GoogleCloudAiplatformV1FulfillmentResult", + "description": "Spec for fulfillment result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Fulfillment score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for fulfillment score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for fulfillment score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SummarizationQualityResult": { + "id": "GoogleCloudAiplatformV1SummarizationQualityResult", + "description": "Spec for summarization quality result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Summarization Quality score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for summarization quality score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for summarization quality score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult": { + "id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult", + "description": "Spec for pairwise summarization quality result.", + "type": "object", + "properties": { + "pairwiseChoice": { + "description": "Output only. Pairwise summarization prediction choice.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified prediction choice.", + "Baseline prediction wins", + "Candidate prediction wins", + "Winner cannot be determined" + ], + "enum": [ + "PAIRWISE_CHOICE_UNSPECIFIED", + "BASELINE", + "CANDIDATE", + "TIE" + ] + }, + "explanation": { + "description": "Output only. Explanation for summarization quality score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for summarization quality score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SummarizationHelpfulnessResult": { + "id": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult", + "description": "Spec for summarization helpfulness result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Summarization Helpfulness score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for summarization helpfulness score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for summarization helpfulness score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SummarizationVerbosityResult": { + "id": "GoogleCloudAiplatformV1SummarizationVerbosityResult", + "description": "Spec for summarization verbosity result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Summarization Verbosity score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for summarization verbosity score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for summarization verbosity score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringQualityResult": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult", + "description": "Spec for question answering quality result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Question Answering Quality score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for question answering quality score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for question answering quality score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult": { + "id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult", + "description": "Spec for pairwise question answering quality result.", + "type": "object", + "properties": { + "pairwiseChoice": { + "description": "Output only. Pairwise question answering prediction choice.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified prediction choice.", + "Baseline prediction wins", + "Candidate prediction wins", + "Winner cannot be determined" + ], + "enum": [ + "PAIRWISE_CHOICE_UNSPECIFIED", + "BASELINE", + "CANDIDATE", + "TIE" + ] + }, + "explanation": { + "description": "Output only. Explanation for question answering quality score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for question answering quality score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult", + "description": "Spec for question answering relevance result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Question Answering Relevance score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for question answering relevance score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for question answering relevance score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult", + "description": "Spec for question answering helpfulness result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Question Answering Helpfulness score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for question answering helpfulness score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for question answering helpfulness score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult": { + "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult", + "description": "Spec for question answering correctness result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Question Answering Correctness score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for question answering correctness score.", + "readOnly": true, + "type": "string" + }, + "confidence": { + "description": "Output only. Confidence for question answering correctness score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1PointwiseMetricResult": { + "id": "GoogleCloudAiplatformV1PointwiseMetricResult", + "description": "Spec for pointwise metric result.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Pointwise metric score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "explanation": { + "description": "Output only. Explanation for pointwise metric score.", + "readOnly": true, + "type": "string" + }, + "customOutput": { + "description": "Output only. Spec for custom output.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CustomOutput" + } + } + }, + "GoogleCloudAiplatformV1CustomOutput": { + "id": "GoogleCloudAiplatformV1CustomOutput", + "description": "Spec for custom output.", + "type": "object", + "properties": { + "rawOutputs": { + "description": "Output only. List of raw output strings.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1RawOutput" + } + } + }, + "GoogleCloudAiplatformV1RawOutput": { + "id": "GoogleCloudAiplatformV1RawOutput", + "description": "Raw output.", + "type": "object", + "properties": { + "rawOutput": { + "description": "Output only. Raw output string.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PairwiseMetricResult": { + "id": "GoogleCloudAiplatformV1PairwiseMetricResult", + "description": "Spec for pairwise metric result.", + "type": "object", + "properties": { + "pairwiseChoice": { + "description": "Output only. Pairwise metric choice.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified prediction choice.", + "Baseline prediction wins", + "Candidate prediction wins", + "Winner cannot be determined" + ], + "enum": [ + "PAIRWISE_CHOICE_UNSPECIFIED", + "BASELINE", + "CANDIDATE", + "TIE" + ] + }, + "explanation": { + "description": "Output only. Explanation for pairwise metric score.", + "readOnly": true, + "type": "string" + }, + "customOutput": { + "description": "Output only. Spec for custom output.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CustomOutput" + } + } + }, + "GoogleCloudAiplatformV1ToolCallValidResults": { + "id": "GoogleCloudAiplatformV1ToolCallValidResults", + "description": "Results for tool call valid metric.", + "type": "object", + "properties": { + "toolCallValidMetricValues": { + "description": "Output only. Tool call valid metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolCallValidMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1ToolCallValidMetricValue": { + "id": "GoogleCloudAiplatformV1ToolCallValidMetricValue", + "description": "Tool call valid metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Tool call valid score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ToolNameMatchResults": { + "id": "GoogleCloudAiplatformV1ToolNameMatchResults", + "description": "Results for tool name match metric.", + "type": "object", + "properties": { + "toolNameMatchMetricValues": { + "description": "Output only. Tool name match metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolNameMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1ToolNameMatchMetricValue": { + "id": "GoogleCloudAiplatformV1ToolNameMatchMetricValue", + "description": "Tool name match metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Tool name match score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKeyMatchResults": { + "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults", + "description": "Results for tool parameter key match metric.", + "type": "object", + "properties": { + "toolParameterKeyMatchMetricValues": { + "description": "Output only. Tool parameter key match metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue": { + "id": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue", + "description": "Tool parameter key match metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Tool parameter key match score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKVMatchResults": { + "id": "GoogleCloudAiplatformV1ToolParameterKVMatchResults", + "description": "Results for tool parameter key value match metric.", + "type": "object", + "properties": { + "toolParameterKvMatchMetricValues": { + "description": "Output only. Tool parameter key value match metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue": { + "id": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue", + "description": "Tool parameter key value match metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Tool parameter key value match score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1CometResult": { + "id": "GoogleCloudAiplatformV1CometResult", + "description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Comet score. Range depends on version.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1MetricxResult": { + "id": "GoogleCloudAiplatformV1MetricxResult", + "description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", + "type": "object", + "properties": { + "score": { + "description": "Output only. MetricX score. Range depends on version.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchResults": { + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", + "description": "Results for TrajectoryExactMatch metric.", + "type": "object", + "properties": { + "trajectoryExactMatchMetricValues": { + "description": "Output only. TrajectoryExactMatch metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue", + "description": "TrajectoryExactMatch metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectoryExactMatch score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults": { + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", + "description": "Results for TrajectoryInOrderMatch metric.", + "type": "object", + "properties": { + "trajectoryInOrderMatchMetricValues": { + "description": "Output only. TrajectoryInOrderMatch metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue", + "description": "TrajectoryInOrderMatch metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectoryInOrderMatch score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults": { + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", + "description": "Results for TrajectoryAnyOrderMatch metric.", + "type": "object", + "properties": { + "trajectoryAnyOrderMatchMetricValues": { + "description": "Output only. TrajectoryAnyOrderMatch metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue", + "description": "TrajectoryAnyOrderMatch metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectoryAnyOrderMatch score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionResults": { + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", + "description": "Results for TrajectoryPrecision metric.", + "type": "object", + "properties": { + "trajectoryPrecisionMetricValues": { + "description": "Output only. TrajectoryPrecision metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue", + "description": "TrajectoryPrecision metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectoryPrecision score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectoryRecallResults": { + "id": "GoogleCloudAiplatformV1TrajectoryRecallResults", + "description": "Results for TrajectoryRecall metric.", + "type": "object", + "properties": { + "trajectoryRecallMetricValues": { + "description": "Output only. TrajectoryRecall metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectoryRecallMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue", + "description": "TrajectoryRecall metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectoryRecall score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseResults": { + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", + "description": "Results for TrajectorySingleToolUse metric.", + "type": "object", + "properties": { + "trajectorySingleToolUseMetricValues": { + "description": "Output only. TrajectorySingleToolUse metric values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue" + } + } + } + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue": { + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue", + "description": "TrajectorySingleToolUse metric value for an instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. TrajectorySingleToolUse score.", + "readOnly": true, + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult": { + "id": "GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult", + "description": "Result for RubricBasedInstructionFollowing metric.", + "type": "object", + "properties": { + "score": { + "description": "Output only. Overall score for the instruction following.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "rubricCritiqueResults": { + "description": "Output only. List of per rubric critique results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RubricCritiqueResult" + } + } + } + }, + "GoogleCloudAiplatformV1RubricCritiqueResult": { + "id": "GoogleCloudAiplatformV1RubricCritiqueResult", + "description": "Rubric critique result.", + "type": "object", + "properties": { + "rubric": { + "description": "Output only. Rubric to be evaluated.", + "readOnly": true, + "type": "string" + }, + "verdict": { + "description": "Output only. Verdict for the rubric - true if the rubric is met, false otherwise.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1MetricResult": { + "id": "GoogleCloudAiplatformV1MetricResult", + "description": "Result for a single metric on a single instance.", + "type": "object", + "properties": { + "score": { + "description": "Output only. The score for the metric. Please refer to each metric's documentation for the meaning of the score.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "rubricVerdicts": { + "description": "Output only. For rubric-based metrics, the verdicts for each rubric.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RubricVerdict" + } + }, + "explanation": { + "description": "Output only. The explanation for the metric result.", + "readOnly": true, + "type": "string" + }, + "error": { + "description": "Output only. The error status for the metric result.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + } + } + }, + "GoogleCloudAiplatformV1RubricVerdict": { + "id": "GoogleCloudAiplatformV1RubricVerdict", + "description": "Represents the verdict of an evaluation against a single rubric.", + "type": "object", + "properties": { + "evaluatedRubric": { + "description": "Required. The full rubric definition that was evaluated. Storing this ensures the verdict is self-contained and understandable, especially if the original rubric definition changes or was dynamically generated.", + "$ref": "GoogleCloudAiplatformV1Rubric" + }, + "verdict": { + "description": "Required. Outcome of the evaluation against the rubric, represented as a boolean. `true` indicates a \"Pass\", `false` indicates a \"Fail\".", + "type": "boolean" + }, + "reasoning": { + "description": "Optional. Human-readable reasoning or explanation for the verdict. This can include specific examples or details from the evaluated content that justify the given verdict.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluateDatasetRequest": { + "id": "GoogleCloudAiplatformV1EvaluateDatasetRequest", + "description": "Request message for EvaluationService.EvaluateDataset.", + "type": "object", + "properties": { + "dataset": { + "description": "Required. The dataset used for evaluation.", + "$ref": "GoogleCloudAiplatformV1EvaluationDataset" + }, + "metrics": { + "description": "Required. The metrics used for evaluation.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Metric" + } + }, + "outputConfig": { + "description": "Required. Config for evaluation output.", + "$ref": "GoogleCloudAiplatformV1OutputConfig" + }, + "autoraterConfig": { + "description": "Optional. Autorater config used for evaluation. Currently only publisher Gemini models are supported. Format: `projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}.`", + "$ref": "GoogleCloudAiplatformV1AutoraterConfig" + } + } + }, + "GoogleCloudAiplatformV1EvaluationDataset": { + "id": "GoogleCloudAiplatformV1EvaluationDataset", + "description": "The dataset used for evaluation.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Cloud storage source holds the dataset. Currently only one Cloud Storage file path is supported.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "bigquerySource": { + "description": "BigQuery source holds the dataset.", + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + } + } + }, + "GoogleCloudAiplatformV1BigQuerySource": { + "id": "GoogleCloudAiplatformV1BigQuerySource", + "description": "The BigQuery location for the input content.", + "type": "object", + "properties": { + "inputUri": { + "description": "Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1OutputConfig": { + "id": "GoogleCloudAiplatformV1OutputConfig", + "description": "Config for evaluation output.", + "type": "object", + "properties": { + "gcsDestination": { + "description": "Cloud storage destination for evaluation output.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + } + } + }, + "GoogleCloudAiplatformV1GenerateInstanceRubricsRequest": { + "id": "GoogleCloudAiplatformV1GenerateInstanceRubricsRequest", + "description": "Request message for EvaluationService.GenerateInstanceRubrics.", + "type": "object", + "properties": { + "contents": { + "description": "Required. The prompt to generate rubrics from. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "predefinedRubricGenerationSpec": { + "description": "Optional. Specification for using the rubric generation configs of a pre-defined metric, e.g. \"generic_quality_v1\" and \"instruction_following_v1\". Some of the configs may be only used in rubric generation and not supporting evaluation, e.g. \"fully_customized_generic_quality_v1\". If this field is set, the `rubric_generation_spec` field will be ignored.", + "$ref": "GoogleCloudAiplatformV1PredefinedMetricSpec" + }, + "rubricGenerationSpec": { + "description": "Optional. Specification for how the rubrics should be generated.", + "$ref": "GoogleCloudAiplatformV1RubricGenerationSpec" + }, + "agentConfig": { + "description": "Optional. Agent configuration, required for agent-based rubric generation.", + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig" + } + } + }, + "GoogleCloudAiplatformV1GenerateInstanceRubricsResponse": { + "id": "GoogleCloudAiplatformV1GenerateInstanceRubricsResponse", + "description": "Response message for EvaluationService.GenerateInstanceRubrics.", + "type": "object", + "properties": { + "generatedRubrics": { + "description": "Output only. A list of generated rubrics.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Rubric" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationRun": { + "id": "GoogleCloudAiplatformV1EvaluationRun", + "description": "EvaluationRun is a resource that represents a single evaluation run, which includes a set of prompts, model responses, evaluation configuration and the resulting metrics.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. The resource name of the EvaluationRun. This is a unique identifier. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Evaluation Run.", + "type": "string" + }, + "metadata": { + "description": "Optional. Metadata about the evaluation run, can be used by the caller to store additional tracking information about the evaluation run.", + "type": "any" + }, + "labels": { + "description": "Optional. Labels for the evaluation run.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dataSource": { + "description": "Required. The data source for the evaluation run.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunDataSource" + }, + "inferenceConfigs": { + "description": "Optional. The candidate to inference config map for the evaluation run. The candidate can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1EvaluationRunInferenceConfig" + } + }, + "evaluationConfig": { + "description": "Required. The configuration used for the evaluation.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfig" + }, + "state": { + "description": "Output only. The state of the evaluation run.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified state.", + "The evaluation run is pending.", + "The evaluation run is running.", + "The evaluation run has succeeded.", + "The evaluation run has failed.", + "The evaluation run has been cancelled.", + "The evaluation run is performing inference.", + "The evaluation run is performing rubric generation." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "INFERENCE", + "GENERATING_RUBRICS" + ] + }, + "error": { + "description": "Output only. Only populated when the evaluation run's state is FAILED or CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "evaluationResults": { + "description": "Output only. The results of the evaluation run. Only populated when the evaluation run's state is SUCCEEDED.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1EvaluationResults" + }, + "createTime": { + "description": "Output only. Time when the evaluation run was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "completionTime": { + "description": "Output only. Time when the evaluation run was completed.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "evaluationSetSnapshot": { + "description": "Output only. The specific evaluation set of the evaluation run. For runs with an evaluation set input, this will be that same set. For runs with BigQuery input, it's the sampled BigQuery dataset.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunDataSource": { + "id": "GoogleCloudAiplatformV1EvaluationRunDataSource", + "description": "The data source for the evaluation run.", + "type": "object", + "properties": { + "evaluationSet": { + "description": "The EvaluationSet resource name. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", + "type": "string" + }, + "bigqueryRequestSet": { + "description": "Evaluation data in bigquery.", + "$ref": "GoogleCloudAiplatformV1BigQueryRequestSet" + } + } + }, + "GoogleCloudAiplatformV1BigQueryRequestSet": { + "id": "GoogleCloudAiplatformV1BigQueryRequestSet", + "description": "The request set for the evaluation run.", + "type": "object", + "properties": { + "uri": { + "description": "Required. The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId", + "type": "string" + }, + "promptColumn": { + "description": "Optional. The name of the column that contains the requests to evaluate. This will be in evaluation_item.EvalPrompt format.", + "type": "string" + }, + "rubricsColumn": { + "description": "Optional. The name of the column that contains the rubrics. This is in evaluation_rubric.RubricGroup format.", + "type": "string" + }, + "candidateResponseColumns": { + "description": "Optional. Map of candidate name to candidate response column name. The column will be in evaluation_item.CandidateResponse format.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "samplingConfig": { + "description": "Optional. The sampling config for the bigquery resource.", + "$ref": "GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig" + } + } + }, + "GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig": { + "id": "GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig", + "description": "The sampling config.", + "type": "object", + "properties": { + "samplingCount": { + "description": "Optional. The total number of logged data to import. If available data is less than the sampling count, all data will be imported. Default is 100.", + "type": "integer", + "format": "int32" + }, + "samplingMethod": { + "description": "Optional. The sampling method to use.", + "type": "string", + "enumDescriptions": [ + "Unspecified sampling method.", + "Random sampling." + ], + "enum": [ + "SAMPLING_METHOD_UNSPECIFIED", + "RANDOM" + ] + }, + "samplingDuration": { + "description": "Optional. How long to wait before sampling data from the BigQuery table. If not specified, defaults to 0.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunInferenceConfig": { + "id": "GoogleCloudAiplatformV1EvaluationRunInferenceConfig", + "description": "An inference config used for model inference during the evaluation run.", + "type": "object", + "properties": { + "generationConfig": { + "description": "Optional. Generation config.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" + }, + "model": { + "description": "Optional. The fully qualified name of the publisher model or endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunEvaluationConfig": { + "id": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfig", + "description": "The Evalution configuration used for the evaluation run.", + "type": "object", + "properties": { + "metrics": { + "description": "Required. The metrics to be calculated in the evaluation run.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetric" + } + }, + "rubricConfigs": { + "description": "Optional. The rubric configs for the evaluation run. They are used to generate rubrics which can be used by rubric-based metrics. Multiple rubric configs can be specified for rubric generation but only one rubric config can be used for a rubric-based metric. If more than one rubric config is provided, the evaluation metric must specify a rubric group key. Note that if a generation spec is specified on both a rubric config and an evaluation metric, the rubrics generated for the metric will be used for evaluation.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluationRubricConfig" + } + }, + "outputConfig": { + "description": "Optional. The output config for the evaluation run.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig" + }, + "autoraterConfig": { + "description": "Optional. The autorater config for the evaluation run.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig" + }, + "promptTemplate": { + "description": "The prompt template used for inference. The values for variables in the prompt template are defined in EvaluationItem.EvaluationPrompt.PromptTemplateData.values.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetric": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetric", + "description": "The metric used for evaluation runs.", + "type": "object", + "properties": { + "rubricBasedMetricSpec": { + "description": "Spec for rubric based metric.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec" + }, + "predefinedMetricSpec": { + "description": "Spec for a pre-defined metric.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec" + }, + "llmBasedMetricSpec": { + "description": "Spec for an LLM based metric.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec" + }, + "metric": { + "description": "Required. The name of the metric.", + "type": "string" + }, + "metricConfig": { + "description": "The metric config.", + "$ref": "GoogleCloudAiplatformV1Metric" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec", + "description": "Specification for a metric that is based on rubrics.", + "type": "object", + "properties": { + "inlineRubrics": { + "description": "Use rubrics provided directly in the spec.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics" + }, + "rubricGroupKey": { + "description": "Use a pre-defined group of rubrics associated with the input content. This refers to a key in the `rubric_groups` map of `RubricEnhancedContents`.", + "type": "string" + }, + "rubricGenerationSpec": { + "description": "Dynamically generate rubrics for evaluation using this specification.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec" + }, + "metricPromptTemplate": { + "description": "Optional. Template for the prompt used by the judge model to evaluate against rubrics.", + "type": "string" + }, + "judgeAutoraterConfig": { + "description": "Optional. Optional configuration for the judge LLM (Autorater). The definition of AutoraterConfig needs to be provided.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics", + "description": "Defines a list of rubrics, used when providing rubrics inline.", + "type": "object", + "properties": { + "rubrics": { + "description": "The list of rubrics.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Rubric" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec", + "description": "Specification for how rubrics should be generated.", + "type": "object", + "properties": { + "promptTemplate": { + "description": "Optional. Template for the prompt used to generate rubrics. The details should be updated based on the most-recent recipe requirements.", + "type": "string" + }, + "modelConfig": { + "description": "Optional. Configuration for the model used in rubric generation. Configs including sampling count and base model can be specified here. Flipping is not supported for rubric generation.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig" + }, + "rubricContentType": { + "description": "Optional. The type of rubric content to be generated.", + "type": "string", + "enumDescriptions": [ + "The content type to generate is not specified.", + "Generate rubrics based on properties.", + "Generate rubrics in an NL question answer format.", + "Generate rubrics in a unit test format." + ], + "enum": [ + "RUBRIC_CONTENT_TYPE_UNSPECIFIED", + "PROPERTY", + "NL_QUESTION_ANSWER", + "PYTHON_CODE_ASSERTION" + ] + }, + "rubricTypeOntology": { + "description": "Optional. An optional, pre-defined list of allowed types for generated rubrics. If this field is provided, it implies `include_rubric_type` should be true, and the generated rubric types should be chosen from this ontology.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig": { + "id": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig", + "description": "The autorater config used for the evaluation run.", + "type": "object", + "properties": { + "sampleCount": { + "description": "Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.", + "type": "integer", + "format": "int32" + }, + "autoraterModel": { + "description": "Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "generationConfig": { + "description": "Optional. Configuration options for model generation and outputs.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec", + "description": "Specification for a pre-defined metric.", + "type": "object", + "properties": { + "metricSpecName": { + "description": "Required. The name of a pre-defined metric, such as \"instruction_following_v1\" or \"text_quality_v1\".", + "type": "string" + }, + "parameters": { + "description": "Optional. The parameters needed to run the pre-defined metric.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec": { + "id": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec", + "description": "Specification for an LLM based metric.", + "type": "object", + "properties": { + "rubricGroupKey": { + "description": "Use a pre-defined group of rubrics associated with the input. Refers to a key in the rubric_groups map of EvaluationInstance.", + "type": "string" + }, + "rubricGenerationSpec": { + "description": "Dynamically generate rubrics using this specification.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec" + }, + "predefinedRubricGenerationSpec": { + "description": "Dynamically generate rubrics using a predefined spec.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec" + }, + "metricPromptTemplate": { + "description": "Required. Template for the prompt sent to the judge model.", + "type": "string" + }, + "systemInstruction": { + "description": "Optional. System instructions for the judge model.", + "type": "string" + }, + "judgeAutoraterConfig": { + "description": "Optional. Optional configuration for the judge LLM (Autorater).", + "$ref": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig" + }, + "additionalConfig": { + "description": "Optional. Optional additional configuration for the metric.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationRubricConfig": { + "id": "GoogleCloudAiplatformV1EvaluationRubricConfig", + "description": "Configuration for a rubric group to be generated/saved for evaluation.", + "type": "object", + "properties": { + "rubricGenerationSpec": { + "description": "Dynamically generate rubrics using this specification.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec" + }, + "predefinedRubricGenerationSpec": { + "description": "Dynamically generate rubrics using a predefined spec.", + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec" + }, + "rubricGroupKey": { + "description": "Required. The key used to save the generated rubrics. If a generation spec is provided, this key will be used for the name of the generated rubric group. Otherwise, this key will be used to look up the existing rubric group on the evaluation item. Note that if a rubric group key is specified on both a rubric config and an evaluation metric, the key from the metric will be used to select the rubrics for evaluation.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig": { + "id": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig", + "description": "The output config for the evaluation run.", + "type": "object", + "properties": { + "bigqueryDestination": { + "description": "BigQuery destination for evaluation output.", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "gcsDestination": { + "description": "Cloud Storage destination for evaluation output.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate": { + "id": "GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate", + "description": "Prompt template used for inference.", + "type": "object", + "properties": { + "promptTemplate": { + "description": "Inline prompt template. Template variables should be in the format \"{var_name}\". Example: \"Translate the following from {source_lang} to {target_lang}: {text}\"", + "type": "string" + }, + "gcsUri": { + "description": "Prompt template stored in Cloud Storage. Format: \"gs://my-bucket/file-name.txt\".", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationResults": { + "id": "GoogleCloudAiplatformV1EvaluationResults", + "description": "The results of the evaluation run.", + "type": "object", + "properties": { + "summaryMetrics": { + "description": "Optional. The summary metrics for the evaluation run.", + "$ref": "GoogleCloudAiplatformV1SummaryMetrics" + }, + "evaluationSet": { + "description": "The evaluation set where item level results are stored.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SummaryMetrics": { + "id": "GoogleCloudAiplatformV1SummaryMetrics", + "description": "The summary metrics for the evaluation run.", + "type": "object", + "properties": { + "metrics": { + "description": "Optional. Map of metric name to metric value.", + "type": "object", + "additionalProperties": { + "type": "any" + } + }, + "totalItems": { + "description": "Optional. The total number of items that were evaluated.", + "type": "integer", + "format": "int32" + }, + "failedItems": { + "description": "Optional. The number of items that failed to be evaluated.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListEvaluationRunsResponse": { + "id": "GoogleCloudAiplatformV1ListEvaluationRunsResponse", + "description": "Response message for EvaluationManagementService.ListEvaluationRuns.", + "type": "object", + "properties": { + "evaluationRuns": { + "description": "List of EvaluationRuns in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluationRun" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelEvaluationRunRequest": { + "id": "GoogleCloudAiplatformV1CancelEvaluationRunRequest", + "description": "Request message for EvaluationManagementService.CancelEvaluationRun.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1EvaluationSet": { + "id": "GoogleCloudAiplatformV1EvaluationSet", + "description": "EvaluationSet is a collection of related EvaluationItems that are evaluated together.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. The resource name of the EvaluationSet. Format: `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the EvaluationSet.", + "type": "string" + }, + "evaluationItems": { + "description": "Required. The EvaluationItems that are part of this dataset.", + "type": "array", + "items": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this item was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this item was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "metadata": { + "description": "Optional. Metadata for the EvaluationSet.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1ListEvaluationSetsResponse": { + "id": "GoogleCloudAiplatformV1ListEvaluationSetsResponse", + "description": "Response message for EvaluationManagementService.ListEvaluationSets.", + "type": "object", + "properties": { + "evaluationSets": { + "description": "List of EvaluationSets in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluationSet" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationItem": { + "id": "GoogleCloudAiplatformV1EvaluationItem", + "description": "EvaluationItem is a single evaluation request or result. The content of an EvaluationItem is immutable - it cannot be updated once created. EvaluationItems can be deleted when no longer needed.", + "type": "object", + "properties": { + "evaluationRequest": { + "description": "The request to evaluate.", + "$ref": "GoogleCloudAiplatformV1EvaluationRequest" + }, + "evaluationResponse": { + "description": "Output only. The response from evaluation.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1EvaluationResult" + }, + "gcsUri": { + "description": "The Cloud Storage object where the request or response is stored.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the EvaluationItem. Format: `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the EvaluationItem.", + "type": "string" + }, + "metadata": { + "description": "Optional. Metadata for the EvaluationItem.", + "type": "any" + }, + "labels": { + "description": "Optional. Labels for the EvaluationItem.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "evaluationItemType": { + "description": "Required. The type of the EvaluationItem.", + "type": "string", + "enumDescriptions": [ + "The default value. This value is unused.", + "The EvaluationItem is a request to evaluate.", + "The EvaluationItem is the result of evaluation." + ], + "enum": [ + "EVALUATION_ITEM_TYPE_UNSPECIFIED", + "REQUEST", + "RESULT" + ] + }, + "createTime": { + "description": "Output only. Timestamp when this item was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. Error for the evaluation item.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + } + } + }, + "GoogleCloudAiplatformV1EvaluationRequest": { + "id": "GoogleCloudAiplatformV1EvaluationRequest", + "description": "Single evaluation request.", + "type": "object", + "properties": { + "prompt": { + "description": "Required. The request/prompt to evaluate.", + "$ref": "GoogleCloudAiplatformV1EvaluationPrompt" + }, + "goldenResponse": { + "description": "Optional. The Ideal response or ground truth.", + "$ref": "GoogleCloudAiplatformV1CandidateResponse" + }, + "rubrics": { + "description": "Optional. Named groups of rubrics associated with this prompt. The key is a user-defined name for the rubric group.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1RubricGroup" + } + }, + "candidateResponses": { + "description": "Optional. Responses from model under test and other baseline models for comparison.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CandidateResponse" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluationPrompt": { + "id": "GoogleCloudAiplatformV1EvaluationPrompt", + "description": "Prompt to be evaluated.", + "type": "object", + "properties": { + "text": { + "description": "Text prompt.", + "type": "string" + }, + "value": { + "description": "Fields and values that can be used to populate the prompt template.", + "type": "any" + }, + "promptTemplateData": { + "description": "Prompt template data.", + "$ref": "GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData" + } + } + }, + "GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData": { + "id": "GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData", + "description": "Message to hold a prompt template and the values to populate the template.", + "type": "object", + "properties": { + "values": { + "description": "The values for fields in the prompt template.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1Content" + } + } + } + }, + "GoogleCloudAiplatformV1CandidateResponse": { + "id": "GoogleCloudAiplatformV1CandidateResponse", + "description": "Responses from model or agent.", + "type": "object", + "properties": { + "text": { + "description": "Text response.", + "type": "string" + }, + "value": { + "description": "Fields and values that can be used to populate the response template.", + "type": "any" + }, + "candidate": { + "description": "Required. The name of the candidate that produced the response.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EvaluationResult": { + "id": "GoogleCloudAiplatformV1EvaluationResult", + "description": "Evaluation result.", + "type": "object", + "properties": { + "evaluationRequest": { + "description": "Required. The request item that was evaluated. Format: projects/{project}/locations/{location}/evaluationItems/{evaluation_item}", + "type": "string" + }, + "evaluationRun": { + "description": "Required. The evaluation run that was used to generate the result. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}", + "type": "string" + }, + "request": { + "description": "Required. The request that was evaluated.", + "$ref": "GoogleCloudAiplatformV1EvaluationRequest" + }, + "metric": { + "description": "Required. The metric that was evaluated.", + "type": "string" + }, + "candidateResults": { + "description": "Optional. The results for the metric.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CandidateResult" + } + }, + "metadata": { + "description": "Optional. Metadata about the evaluation result.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1CandidateResult": { + "id": "GoogleCloudAiplatformV1CandidateResult", + "description": "Result for a single candidate.", + "type": "object", + "properties": { + "score": { + "description": "Optional. The score for the metric.", + "type": "number", + "format": "float" + }, + "candidate": { + "description": "Required. The candidate that is being evaluated. The value is the same as the candidate name in the EvaluationRequest.", + "type": "string" + }, + "metric": { + "description": "Required. The metric that was evaluated.", + "type": "string" + }, + "explanation": { + "description": "Optional. The explanation for the metric.", + "type": "string" + }, + "rubricVerdicts": { + "description": "Optional. The rubric verdicts for the metric.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RubricVerdict" + } + }, + "additionalResults": { + "description": "Optional. Additional results for the metric.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1ListEvaluationItemsResponse": { + "id": "GoogleCloudAiplatformV1ListEvaluationItemsResponse", + "description": "Response message for EvaluationManagementService.ListEvaluationItems.", + "type": "object", + "properties": { + "evaluationItems": { + "description": "List of EvaluationItems in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluationItem" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesRequest", + "description": "Request message for FeaturestoreOnlineServingService.ReadFeatureValues.", + "type": "object", + "properties": { + "entityId": { + "description": "Required. ID for a specific entity. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", + "type": "string" + }, + "featureSelector": { + "description": "Required. Selector choosing Features of the target EntityType.", + "$ref": "GoogleCloudAiplatformV1FeatureSelector" + } + } + }, + "GoogleCloudAiplatformV1FeatureSelector": { + "id": "GoogleCloudAiplatformV1FeatureSelector", + "description": "Selector for Features of an EntityType.", + "type": "object", + "properties": { + "idMatcher": { + "description": "Required. Matches Features based on ID.", + "$ref": "GoogleCloudAiplatformV1IdMatcher" + } + } + }, + "GoogleCloudAiplatformV1IdMatcher": { + "id": "GoogleCloudAiplatformV1IdMatcher", + "description": "Matcher for Features of an EntityType by Feature ID.", + "type": "object", + "properties": { + "ids": { + "description": "Required. The following are accepted as `ids`: * A single-element list containing only `*`, which selects all Features in the target EntityType, or * A list containing only Feature IDs, which selects only Features with those IDs in the target EntityType.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponse", + "description": "Response message for FeaturestoreOnlineServingService.ReadFeatureValues.", + "type": "object", + "properties": { + "header": { + "description": "Response header.", + "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader" + }, + "entityView": { + "description": "Entity view with Feature values. This may be the entity in the Featurestore if values for all Features were requested, or a projection of the entity in the Featurestore if values for only some Features were requested.", + "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView" + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader", + "description": "Response header with metadata for the requested ReadFeatureValuesRequest.entity_type and Features.", + "type": "object", + "properties": { + "entityType": { + "description": "The resource name of the EntityType from the ReadFeatureValuesRequest. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`.", + "type": "string" + }, + "featureDescriptors": { + "description": "List of Feature metadata corresponding to each piece of ReadFeatureValuesResponse.EntityView.data.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor" + } + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor", + "description": "Metadata for requested Features.", + "type": "object", + "properties": { + "id": { + "description": "Feature ID.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView", + "description": "Entity view with Feature values.", + "type": "object", + "properties": { + "entityId": { + "description": "ID of the requested entity.", + "type": "string" + }, + "data": { + "description": "Each piece of data holds the k requested values for one requested Feature. If no values for the requested Feature exist, the corresponding cell will be empty. This has the same size and is in the same order as the features from the header ReadFeatureValuesResponse.header.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData" + } + } + } + }, + "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData": { + "id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData", + "description": "Container to hold value(s), successive in time, for one Feature from the request.", + "type": "object", + "properties": { + "value": { + "description": "Feature value if a single value is requested.", + "$ref": "GoogleCloudAiplatformV1FeatureValue" + }, + "values": { + "description": "Feature values list if values, successive in time, are requested. If the requested number of values is greater than the number of existing Feature values, nonexistent values are omitted instead of being returned as empty.", + "$ref": "GoogleCloudAiplatformV1FeatureValueList" + } + } + }, + "GoogleCloudAiplatformV1FeatureValue": { + "id": "GoogleCloudAiplatformV1FeatureValue", + "description": "Value for a feature.", + "type": "object", + "properties": { + "boolValue": { + "description": "Bool type feature value.", + "type": "boolean" + }, + "doubleValue": { + "description": "Double type feature value.", + "type": "number", + "format": "double" + }, + "int64Value": { + "description": "Int64 feature value.", + "type": "string", + "format": "int64" + }, + "stringValue": { + "description": "String feature value.", + "type": "string" + }, + "boolArrayValue": { + "description": "A list of bool type feature value.", + "$ref": "GoogleCloudAiplatformV1BoolArray" + }, + "doubleArrayValue": { + "description": "A list of double type feature value.", + "$ref": "GoogleCloudAiplatformV1DoubleArray" + }, + "int64ArrayValue": { + "description": "A list of int64 type feature value.", + "$ref": "GoogleCloudAiplatformV1Int64Array" + }, + "stringArrayValue": { + "description": "A list of string type feature value.", + "$ref": "GoogleCloudAiplatformV1StringArray" + }, + "bytesValue": { + "description": "Bytes feature value.", + "type": "string", + "format": "byte" + }, + "structValue": { + "description": "A struct type feature value.", + "$ref": "GoogleCloudAiplatformV1StructValue" + }, + "metadata": { + "description": "Metadata of feature value.", + "$ref": "GoogleCloudAiplatformV1FeatureValueMetadata" + } + } + }, + "GoogleCloudAiplatformV1BoolArray": { + "id": "GoogleCloudAiplatformV1BoolArray", + "description": "A list of boolean values.", + "type": "object", + "properties": { + "values": { + "description": "A list of bool values.", + "type": "array", + "items": { + "type": "boolean" + } + } + } + }, + "GoogleCloudAiplatformV1DoubleArray": { + "id": "GoogleCloudAiplatformV1DoubleArray", + "description": "A list of double values.", + "type": "object", + "properties": { + "values": { + "description": "A list of double values.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "GoogleCloudAiplatformV1Int64Array": { + "id": "GoogleCloudAiplatformV1Int64Array", + "description": "A list of int64 values.", + "type": "object", + "properties": { + "values": { + "description": "A list of int64 values.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "GoogleCloudAiplatformV1StringArray": { + "id": "GoogleCloudAiplatformV1StringArray", + "description": "A list of string values.", + "type": "object", + "properties": { + "values": { + "description": "A list of string values.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1StructValue": { + "id": "GoogleCloudAiplatformV1StructValue", + "description": "Struct (or object) type feature value.", + "type": "object", + "properties": { + "values": { + "description": "A list of field values.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1StructFieldValue" + } + } + } + }, + "GoogleCloudAiplatformV1StructFieldValue": { + "id": "GoogleCloudAiplatformV1StructFieldValue", + "description": "One field of a Struct (or object) type feature value.", + "type": "object", + "properties": { + "name": { + "description": "Name of the field in the struct feature.", + "type": "string" + }, + "value": { + "description": "The value for this field.", + "$ref": "GoogleCloudAiplatformV1FeatureValue" + } + } + }, + "GoogleCloudAiplatformV1FeatureValueMetadata": { + "id": "GoogleCloudAiplatformV1FeatureValueMetadata", + "description": "Metadata of feature value.", + "type": "object", + "properties": { + "generateTime": { + "description": "Feature generation timestamp. Typically, it is provided by user at feature ingestion time. If not, feature store will use the system timestamp when the data is ingested into feature store. Legacy Feature Store: For streaming ingestion, the time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1FeatureValueList": { + "id": "GoogleCloudAiplatformV1FeatureValueList", + "description": "Container for list of values.", + "type": "object", + "properties": { + "values": { + "description": "A list of feature values. All of them should be the same data type.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureValue" + } + } + } + }, + "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest", + "description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", + "type": "object", + "properties": { + "entityIds": { + "description": "Required. IDs of entities to read Feature values of. The maximum number of IDs is 100. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", + "type": "array", + "items": { + "type": "string" + } + }, + "featureSelector": { + "description": "Required. Selector choosing Features of the target EntityType. Feature IDs will be deduplicated.", + "$ref": "GoogleCloudAiplatformV1FeatureSelector" + } + } + }, + "GoogleCloudAiplatformV1WriteFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1WriteFeatureValuesRequest", + "description": "Request message for FeaturestoreOnlineServingService.WriteFeatureValues.", + "type": "object", + "properties": { + "payloads": { + "description": "Required. The entities to be written. Up to 100,000 feature values can be written across all `payloads`.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1WriteFeatureValuesPayload" + } + } + } + }, + "GoogleCloudAiplatformV1WriteFeatureValuesPayload": { + "id": "GoogleCloudAiplatformV1WriteFeatureValuesPayload", + "description": "Contains Feature values to be written for a specific entity.", + "type": "object", + "properties": { + "entityId": { + "description": "Required. The ID of the entity.", + "type": "string" + }, + "featureValues": { + "description": "Required. Feature values to be written, mapping from Feature ID to value. Up to 100,000 `feature_values` entries may be written across all payloads. The feature generation time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1FeatureValue" + } + } + } + }, + "GoogleCloudAiplatformV1WriteFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1WriteFeatureValuesResponse", + "description": "Response message for FeaturestoreOnlineServingService.WriteFeatureValues.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1Featurestore": { + "id": "GoogleCloudAiplatformV1Featurestore", + "description": "Vertex AI Feature Store provides a centralized repository for organizing, storing, and serving ML features. The Featurestore is a top-level container for your features and their values.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this Featurestore was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Featurestore was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "onlineServingConfig": { + "description": "Optional. Config for online storage resources. The field should not co-exist with the field of `OnlineStoreReplicationConfig`. If both of it and OnlineStoreReplicationConfig are unset, the feature store will not have an online store and cannot be used for online serving.", + "$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig" + }, + "state": { + "description": "Output only. State of the featurestore.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "State when the featurestore configuration is not being updated and the fields reflect the current configuration of the featurestore. The featurestore is usable in this state.", + "The state of the featurestore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featurestore. For example, `online_serving_config.fixed_node_count` can take minutes to update. While the update is in progress, the featurestore is in the UPDATING state, and the value of `fixed_node_count` can be the original value or the updated value, depending on the progress of the operation. Until the update completes, the actual number of nodes can still be the original value of `fixed_node_count`. The featurestore is still usable in this state." + ], + "enum": [ + "STATE_UNSPECIFIED", + "STABLE", + "UPDATING" + ] + }, + "onlineStorageTtlDays": { + "description": "Optional. TTL in days for feature values that will be stored in online serving storage. The Feature Store online storage periodically removes obsolete feature values older than `online_storage_ttl_days` since the feature generation time. Note that `online_storage_ttl_days` should be less than or equal to `offline_storage_ttl_days` for each EntityType under a featurestore. If not set, default to 4000 days", + "type": "integer", + "format": "int32" + }, + "encryptionSpec": { + "description": "Optional. Customer-managed encryption key spec for data storage. If set, both of the online and offline data storage will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig": { + "id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig", + "description": "OnlineServingConfig specifies the details for provisioning online serving resources.", + "type": "object", + "properties": { + "fixedNodeCount": { + "description": "The number of nodes for the online store. The number of nodes doesn't scale automatically, but you can manually update the number of nodes. If set to 0, the featurestore will not have an online store and cannot be used for online serving.", + "type": "integer", + "format": "int32" + }, + "scaling": { + "description": "Online serving scaling configuration. Only one of `fixed_node_count` and `scaling` can be set. Setting one will reset the other.", + "$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling" + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling": { + "id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling", + "description": "Online serving scaling configuration. If min_node_count and max_node_count are set to the same value, the cluster will be configured with the fixed number of node (no auto-scaling).", + "type": "object", + "properties": { + "minNodeCount": { + "description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", + "type": "integer", + "format": "int32" + }, + "maxNodeCount": { + "description": "The maximum number of nodes to scale up to. Must be greater than min_node_count, and less than or equal to 10 times of 'min_node_count'.", + "type": "integer", + "format": "int32" + }, + "cpuUtilizationTarget": { + "description": "Optional. The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set or set to 0, default to 50.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListFeaturestoresResponse": { + "id": "GoogleCloudAiplatformV1ListFeaturestoresResponse", + "description": "Response message for FeaturestoreService.ListFeaturestores.", + "type": "object", + "properties": { + "featurestores": { + "description": "The Featurestores matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Featurestore" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeaturestoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1EntityType": { + "id": "GoogleCloudAiplatformV1EntityType", + "description": "An entity type is a type of object in a system that needs to be modeled and have stored information about. For example, driver is an entity type, and driver0 is an instance of an entity type driver.", + "type": "object", + "properties": { + "name": { + "description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the EntityType.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this EntityType was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this EntityType was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "Optional. Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "monitoringConfig": { + "description": "Optional. The default monitoring configuration for all Features with value type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 under this EntityType. If this is populated with [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is disabled.", + "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig" + }, + "offlineStorageTtlDays": { + "description": "Optional. Config for data retention policy in offline storage. TTL in days for feature values that will be stored in offline storage. The Feature Store offline storage periodically removes obsolete feature values older than `offline_storage_ttl_days` since the feature generation time. If unset (or explicitly set to 0), default to 4000 days TTL.", + "type": "integer", + "format": "int32" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig": { + "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig", + "description": "Configuration of how features in Featurestore are monitored.", + "type": "object", + "properties": { + "snapshotAnalysis": { + "description": "The config for Snapshot Analysis Based Feature Monitoring.", + "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis" + }, + "importFeaturesAnalysis": { + "description": "The config for ImportFeatures Analysis Based Feature Monitoring.", + "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis" + }, + "numericalThresholdConfig": { + "description": "Threshold for numerical features of anomaly detection. This is shared by all objectives of Featurestore Monitoring for numerical features (i.e. Features with type (Feature.ValueType) DOUBLE or INT64).", + "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig" + }, + "categoricalThresholdConfig": { + "description": "Threshold for categorical features of anomaly detection. This is shared by all types of Featurestore Monitoring for categorical features (i.e. Features with type (Feature.ValueType) BOOL or STRING).", + "$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig" + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis": { + "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis", + "description": "Configuration of the Featurestore's Snapshot Analysis Based Monitoring. This type of analysis generates statistics for each Feature based on a snapshot of the latest feature value of each entities every monitoring_interval.", + "type": "object", + "properties": { + "disabled": { + "description": "The monitoring schedule for snapshot analysis. For EntityType-level config: unset / disabled = true indicates disabled by default for Features under it; otherwise by default enable snapshot analysis monitoring with monitoring_interval for Features under it. Feature-level config: disabled = true indicates disabled regardless of the EntityType-level config; unset monitoring_interval indicates going with EntityType-level config; otherwise run snapshot analysis monitoring with monitoring_interval regardless of the EntityType-level config. Explicitly Disable the snapshot analysis based monitoring.", + "type": "boolean" + }, + "monitoringIntervalDays": { + "description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value indicates number of days.", + "type": "integer", + "format": "int32" + }, + "stalenessDays": { + "description": "Customized export features time window for snapshot analysis. Unit is one day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is 4000 days.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis": { + "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis", + "description": "Configuration of the Featurestore's ImportFeature Analysis Based Monitoring. This type of analysis generates statistics for values of each Feature imported by every ImportFeatureValues operation.", + "type": "object", + "properties": { + "state": { + "description": "Whether to enable / disable / inherite default hebavior for import features analysis.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "The default behavior of whether to enable the monitoring. EntityType-level config: disabled. Feature-level config: inherited from the configuration of EntityType this Feature belongs to.", + "Explicitly enables import features analysis. EntityType-level config: by default enables import features analysis for all Features under it. Feature-level config: enables import features analysis regardless of the EntityType-level config.", + "Explicitly disables import features analysis. EntityType-level config: by default disables import features analysis for all Features under it. Feature-level config: disables import features analysis regardless of the EntityType-level config." + ], + "enum": [ + "STATE_UNSPECIFIED", + "DEFAULT", + "ENABLED", + "DISABLED" + ] + }, + "anomalyDetectionBaseline": { + "description": "The baseline used to do anomaly detection for the statistics generated by import features analysis.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "Choose the later one statistics generated by either most recent snapshot analysis or previous import features analysis. If non of them exists, skip anomaly detection and only generate a statistics.", + "Use the statistics generated by the most recent snapshot analysis if exists.", + "Use the statistics generated by the previous import features analysis if exists." + ], + "enum": [ + "BASELINE_UNSPECIFIED", + "LATEST_STATS", + "MOST_RECENT_SNAPSHOT_STATS", + "PREVIOUS_IMPORT_FEATURES_STATS" + ] + } + } + }, + "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig": { + "id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig", + "description": "The config for Featurestore Monitoring threshold.", + "type": "object", + "properties": { + "value": { + "description": "Specify a threshold value that can trigger the alert. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ListEntityTypesResponse": { + "id": "GoogleCloudAiplatformV1ListEntityTypesResponse", + "description": "Response message for FeaturestoreService.ListEntityTypes.", + "type": "object", + "properties": { + "entityTypes": { + "description": "The EntityTypes matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EntityType" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListEntityTypesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Feature": { + "id": "GoogleCloudAiplatformV1Feature", + "description": "Feature Metadata information. For example, color is a feature that describes an apple.", + "type": "object", + "properties": { + "name": { + "description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", + "type": "string" + }, + "description": { + "description": "Description of the Feature.", + "type": "string" + }, + "valueType": { + "description": "Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type of Feature value.", + "type": "string", + "enumDescriptions": [ + "The value type is unspecified.", + "Used for Feature that is a boolean.", + "Used for Feature that is a list of boolean.", + "Used for Feature that is double.", + "Used for Feature that is a list of double.", + "Used for Feature that is INT64.", + "Used for Feature that is a list of INT64.", + "Used for Feature that is string.", + "Used for Feature that is a list of String.", + "Used for Feature that is bytes.", + "Used for Feature that is struct." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "BOOL_ARRAY", + "DOUBLE", + "DOUBLE_ARRAY", + "INT64", + "INT64_ARRAY", + "STRING", + "STRING_ARRAY", + "BYTES", + "STRUCT" + ] + }, + "createTime": { + "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "disableMonitoring": { + "description": "Optional. Only applicable for Vertex AI Feature Store (Legacy). If not set, use the monitoring_config defined for the EntityType this Feature belongs to. Only Features with type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring. If set to true, all types of data monitoring are disabled despite the config on EntityType.", + "type": "boolean" + }, + "monitoringStatsAnomalies": { + "description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). The list of historical stats and anomalies with specified objectives.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly" + } + }, + "versionColumnName": { + "description": "Only applicable for Vertex AI Feature Store. The name of the BigQuery Table/View column hosting data for this version. If no value is provided, will use feature_id.", + "type": "string" + }, + "pointOfContact": { + "description": "Entity responsible for maintaining this feature. Can be comma separated list of email addresses or URIs.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly": { + "id": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly", + "description": "A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", + "type": "object", + "properties": { + "objective": { + "description": "Output only. The objective for each stats.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty.", + "Stats are generated by Import Feature Analysis.", + "Stats are generated by Snapshot Analysis." + ], + "enum": [ + "OBJECTIVE_UNSPECIFIED", + "IMPORT_FEATURE_ANALYSIS", + "SNAPSHOT_ANALYSIS" + ] + }, + "featureStatsAnomaly": { + "description": "Output only. The stats and anomalies generated at specific timestamp.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" + } + } + }, + "GoogleCloudAiplatformV1FeatureStatsAnomaly": { + "id": "GoogleCloudAiplatformV1FeatureStatsAnomaly", + "description": "Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.", + "type": "object", + "properties": { + "score": { + "description": "Feature importance score, only populated when cross-feature monitoring is enabled. For now only used to represent feature attribution score within range [0, 1] for ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.", + "type": "number", + "format": "double" + }, + "statsUri": { + "description": "Path of the stats file for current feature values in Cloud Storage bucket. Format: gs:////stats. Example: gs://monitoring_bucket/feature_name/stats. Stats are stored as binary format with Protobuf message [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto).", + "type": "string" + }, + "anomalyUri": { + "description": "Path of the anomaly file for current feature values in Cloud Storage bucket. Format: gs:////anomalies. Example: gs://monitoring_bucket/feature_name/anomalies. Stats are stored as binary format with Protobuf message Anoamlies are stored as binary format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto).", + "type": "string" + }, + "distributionDeviation": { + "description": "Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence.", + "type": "number", + "format": "double" + }, + "anomalyDetectionThreshold": { + "description": "This is the threshold used when detecting anomalies. The threshold can be changed by user, so this one might be different from ThresholdConfig.value.", + "type": "number", + "format": "double" + }, + "startTime": { + "description": "The start timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), start_time is only used to indicate the monitoring intervals, so it always equals to (end_time - monitoring_interval).", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "The end timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), end_time indicates the timestamp of the data used to generate stats (e.g. timestamp we take snapshots for feature values).", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateFeaturesRequest": { + "id": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest", + "description": "Request message for FeaturestoreService.BatchCreateFeatures. Request message for FeatureRegistryService.BatchCreateFeatures.", + "type": "object", + "properties": { + "requests": { + "description": "Required. The request message specifying the Features to create. All Features must be created under the same parent EntityType / FeatureGroup. The `parent` field in each child request message can be omitted. If `parent` is set in a child request, then the value must match the `parent` value in this request message.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CreateFeatureRequest" + } + } + } + }, + "GoogleCloudAiplatformV1CreateFeatureRequest": { + "id": "GoogleCloudAiplatformV1CreateFeatureRequest", + "description": "Request message for FeaturestoreService.CreateFeature. Request message for FeatureRegistryService.CreateFeature.", + "type": "object", + "properties": { + "parent": { + "description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "type": "string" + }, + "feature": { + "description": "Required. The Feature to create.", + "$ref": "GoogleCloudAiplatformV1Feature" + }, + "featureId": { + "description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListFeaturesResponse": { + "id": "GoogleCloudAiplatformV1ListFeaturesResponse", + "description": "Response message for FeaturestoreService.ListFeatures. Response message for FeatureRegistryService.ListFeatures.", + "type": "object", + "properties": { + "features": { + "description": "The Features matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Feature" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ImportFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1ImportFeatureValuesRequest", + "description": "Request message for FeaturestoreService.ImportFeatureValues.", + "type": "object", + "properties": { + "avroSource": { + "$ref": "GoogleCloudAiplatformV1AvroSource" + }, + "bigquerySource": { + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + }, + "csvSource": { + "$ref": "GoogleCloudAiplatformV1CsvSource" + }, + "featureTimeField": { + "description": "Source column that holds the Feature timestamp for all Feature values in each entity.", + "type": "string" + }, + "featureTime": { + "description": "Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + }, + "entityIdField": { + "description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", + "type": "string" + }, + "featureSpecs": { + "description": "Required. Specifications defining which Feature values to import from the entity. The request fails if no feature_specs are provided, and having multiple feature_specs for one Feature is not allowed.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec" + } + }, + "disableOnlineServing": { + "description": "If set, data will not be imported for online serving. This is typically used for backfilling, where Feature generation timestamps are not in the timestamp range needed for online serving.", + "type": "boolean" + }, + "workerCount": { + "description": "Specifies the number of workers that are used to write data to the Featurestore. Consider the online serving capacity that you require to achieve the desired import throughput without interfering with online serving. The value must be positive, and less than or equal to 100. If not set, defaults to using 1 worker. The low count ensures minimal impact on online serving performance.", + "type": "integer", + "format": "int32" + }, + "disableIngestionAnalysis": { + "description": "If true, API doesn't start ingestion analysis pipeline.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1AvroSource": { + "id": "GoogleCloudAiplatformV1AvroSource", + "description": "The storage details for Avro input content.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Required. Google Cloud Storage location.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + } + } + }, + "GoogleCloudAiplatformV1CsvSource": { + "id": "GoogleCloudAiplatformV1CsvSource", + "description": "The storage details for CSV input content.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Required. Google Cloud Storage location.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + } + } + }, + "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec": { + "id": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec", + "description": "Defines the Feature value(s) to import.", + "type": "object", + "properties": { + "id": { + "description": "Required. ID of the Feature to import values of. This Feature must exist in the target EntityType, or the request will fail.", + "type": "string" + }, + "sourceField": { + "description": "Source column to get the Feature values from. If not set, uses the column with the same name as the Feature ID.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest", + "description": "Request message for FeaturestoreService.BatchReadFeatureValues.", + "type": "object", + "properties": { + "csvReadInstances": { + "description": "Each read instance consists of exactly one read timestamp and one or more entity IDs identifying entities of the corresponding EntityTypes whose Features are requested. Each output instance contains Feature values of requested entities concatenated together as of the read time. An example read instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z`. An example output instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z, foo_entity_feature1_value, bar_entity_feature2_value`. Timestamp in each read instance must be millisecond-aligned. `csv_read_instances` are read instances stored in a plain-text CSV file. The header should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp The columns can be in any order. Values in the timestamp column must use the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`.", + "$ref": "GoogleCloudAiplatformV1CsvSource" + }, + "bigqueryReadInstances": { + "description": "Similar to csv_read_instances, but from BigQuery source.", + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + }, + "destination": { + "description": "Required. Specifies output location and format.", + "$ref": "GoogleCloudAiplatformV1FeatureValueDestination" + }, + "passThroughFields": { + "description": "When not empty, the specified fields in the *_read_instances source will be joined as-is in the output, in addition to those fields from the Featurestore Entity. For BigQuery source, the type of the pass-through values will be automatically inferred. For CSV source, the pass-through values will be passed as opaque bytes.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField" + } + }, + "entityTypeSpecs": { + "description": "Required. Specifies EntityType grouping Features to read values of and settings.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec" + } + }, + "startTime": { + "description": "Optional. Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1FeatureValueDestination": { + "id": "GoogleCloudAiplatformV1FeatureValueDestination", + "description": "A destination location for Feature values and format.", + "type": "object", + "properties": { + "bigqueryDestination": { + "description": "Output in BigQuery format. BigQueryDestination.output_uri in FeatureValueDestination.bigquery_destination must refer to a table.", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "tfrecordDestination": { + "description": "Output in TFRecord format. Below are the mapping from Feature value type in Featurestore to Feature value type in TFRecord: Value type in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY | FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, BYTES | BYTES_LIST true -\u003e byte_string(\"true\"), false -\u003e byte_string(\"false\") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST", + "$ref": "GoogleCloudAiplatformV1TFRecordDestination" + }, + "csvDestination": { + "description": "Output in CSV format. Array Feature value types are not allowed in CSV format.", + "$ref": "GoogleCloudAiplatformV1CsvDestination" + } + } + }, + "GoogleCloudAiplatformV1TFRecordDestination": { + "id": "GoogleCloudAiplatformV1TFRecordDestination", + "description": "The storage details for TFRecord output content.", + "type": "object", + "properties": { + "gcsDestination": { + "description": "Required. Google Cloud Storage location.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + } + } + }, + "GoogleCloudAiplatformV1CsvDestination": { + "id": "GoogleCloudAiplatformV1CsvDestination", + "description": "The storage details for CSV output content.", + "type": "object", + "properties": { + "gcsDestination": { + "description": "Required. Google Cloud Storage location.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + } + } + }, + "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField": { + "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField", + "description": "Describe pass-through fields in read_instance source.", + "type": "object", + "properties": { + "fieldName": { + "description": "Required. The name of the field in the CSV header or the name of the column in BigQuery table. The naming restriction is the same as Feature.name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec": { + "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec", + "description": "Selects Features of an EntityType to read values of and specifies read settings.", + "type": "object", + "properties": { + "entityTypeId": { + "description": "Required. ID of the EntityType to select Features. The EntityType id is the entity_type_id specified during EntityType creation.", + "type": "string" + }, + "featureSelector": { + "description": "Required. Selectors choosing which Feature values to read from the EntityType.", + "$ref": "GoogleCloudAiplatformV1FeatureSelector" + }, + "settings": { + "description": "Per-Feature settings for the batch read.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" + } + } + } + }, + "GoogleCloudAiplatformV1DestinationFeatureSetting": { + "id": "GoogleCloudAiplatformV1DestinationFeatureSetting", + "type": "object", + "properties": { + "featureId": { + "description": "Required. The ID of the Feature to apply the setting to.", + "type": "string" + }, + "destinationField": { + "description": "Specify the field name in the export destination. If not specified, Feature ID is used.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExportFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequest", + "description": "Request message for FeaturestoreService.ExportFeatureValues.", + "type": "object", + "properties": { + "snapshotExport": { + "description": "Exports the latest Feature values of all entities of the EntityType within a time range.", + "$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport" + }, + "fullExport": { + "description": "Exports all historical values of all entities of the EntityType within a time range", + "$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport" + }, + "destination": { + "description": "Required. Specifies destination location and format.", + "$ref": "GoogleCloudAiplatformV1FeatureValueDestination" + }, + "featureSelector": { + "description": "Required. Selects Features to export values of.", + "$ref": "GoogleCloudAiplatformV1FeatureSelector" + }, + "settings": { + "description": "Per-Feature export settings.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" + } + } + } + }, + "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport": { + "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport", + "description": "Describes exporting the latest Feature values of all entities of the EntityType between [start_time, snapshot_time].", + "type": "object", + "properties": { + "snapshotTime": { + "description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport": { + "id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport", + "description": "Describes exporting all historical Feature values of all entities of the EntityType between [start_time, end_time].", + "type": "object", + "properties": { + "startTime": { + "description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequest", + "description": "Request message for FeaturestoreService.DeleteFeatureValues.", + "type": "object", + "properties": { + "selectEntity": { + "description": "Select feature values to be deleted by specifying entities.", + "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity" + }, + "selectTimeRangeAndFeature": { + "description": "Select feature values to be deleted by specifying time range and features.", + "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity", + "description": "Message to select entity. If an entity id is selected, all the feature values corresponding to the entity id will be deleted, including the entityId.", + "type": "object", + "properties": { + "entityIdSelector": { + "description": "Required. Selectors choosing feature values of which entity id to be deleted from the EntityType.", + "$ref": "GoogleCloudAiplatformV1EntityIdSelector" + } + } + }, + "GoogleCloudAiplatformV1EntityIdSelector": { + "id": "GoogleCloudAiplatformV1EntityIdSelector", + "description": "Selector for entityId. Getting ids from the given source.", + "type": "object", + "properties": { + "csvSource": { + "description": "Source of Csv", + "$ref": "GoogleCloudAiplatformV1CsvSource" + }, + "entityIdField": { + "description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", + "description": "Message to select time range and feature. Values of the selected feature generated within an inclusive time range will be deleted. Using this option permanently deletes the feature values from the specified feature IDs within the specified time range. This might include data from the online storage. If you want to retain any deleted historical data in the online storage, you must re-ingest it.", + "type": "object", + "properties": { + "timeRange": { + "description": "Required. Select feature generated within a half-inclusive time range. The time range is lower inclusive and upper exclusive.", + "$ref": "GoogleTypeInterval" + }, + "featureSelector": { + "description": "Required. Selectors choosing which feature values to be deleted from the EntityType.", + "$ref": "GoogleCloudAiplatformV1FeatureSelector" + }, + "skipOnlineStorageDelete": { + "description": "If set, data will not be deleted from online storage. When time range is older than the data in online storage, setting this to be true will make the deletion have no impact on online serving.", + "type": "boolean" + } + } + }, + "GoogleTypeInterval": { + "id": "GoogleTypeInterval", + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "type": "object", + "properties": { + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1SearchFeaturesResponse": { + "id": "GoogleCloudAiplatformV1SearchFeaturesResponse", + "description": "Response message for FeaturestoreService.SearchFeatures.", + "type": "object", + "properties": { + "features": { + "description": "The Features matching the request. Fields returned: * `name` * `description` * `labels` * `create_time` * `update_time`", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Feature" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as SearchFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureGroup": { + "id": "GoogleCloudAiplatformV1FeatureGroup", + "description": "Vertex AI Feature Group.", + "type": "object", + "properties": { + "bigQuery": { + "description": "Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source. The BigQuery source table or view must have at least one entity ID column and a column named `feature_timestamp`.", + "$ref": "GoogleCloudAiplatformV1FeatureGroupBigQuery" + }, + "name": { + "description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this FeatureGroup was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this FeatureGroup was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "description": "Optional. Description of the FeatureGroup.", + "type": "string" + }, + "serviceAgentType": { + "description": "Optional. Service agent type used during jobs under a FeatureGroup. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureGroup within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service account to access the BigQuery source table.", + "type": "string", + "enumDescriptions": [ + "By default, the project-level Vertex AI Service Agent is enabled.", + "Specifies the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", + "Enable a FeatureGroup service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during jobs under a FeatureGroup." + ], + "enum": [ + "SERVICE_AGENT_TYPE_UNSPECIFIED", + "SERVICE_AGENT_TYPE_PROJECT", + "SERVICE_AGENT_TYPE_FEATURE_GROUP" + ] + }, + "serviceAccountEmail": { + "description": "Output only. A Service Account unique to this FeatureGroup. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to access source data while running jobs under this FeatureGroup.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureGroupBigQuery": { + "id": "GoogleCloudAiplatformV1FeatureGroupBigQuery", + "description": "Input source type for BigQuery Tables and Views.", + "type": "object", + "properties": { + "bigQuerySource": { + "description": "Required. Immutable. The BigQuery source URI that points to either a BigQuery Table or View.", + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + }, + "entityIdColumns": { + "description": "Optional. Columns to construct entity_id / row keys. If not provided defaults to `entity_id`.", + "type": "array", + "items": { + "type": "string" + } + }, + "staticDataSource": { + "description": "Optional. Set if the data source is not a time-series.", + "type": "boolean" + }, + "timeSeries": { + "description": "Optional. If the source is a time-series source, this can be set to control how downstream sources (ex: FeatureView ) will treat time-series sources. If not set, will treat the source as a time-series source with `feature_timestamp` as timestamp column and no scan boundary.", + "$ref": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries" + }, + "dense": { + "description": "Optional. If set, all feature values will be fetched from a single row per unique entityId including nulls. If not set, will collapse all rows for each unique entityId into a singe row with any non-null values if present, if no non-null values are present will sync null. ex: If source has schema `(entity_id, feature_timestamp, f0, f1)` and the following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` `(e1, 2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, 20, null)` is synced to online stores. If dense is not set, `(e1, 20, 15)` is synced to online stores.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries": { + "id": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries", + "type": "object", + "properties": { + "timestampColumn": { + "description": "Optional. Column hosting timestamp values for a time-series source. Will be used to determine the latest `feature_values` for each entity. Optional. If not provided, column named `feature_timestamp` of type `TIMESTAMP` will be used.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListFeatureGroupsResponse": { + "id": "GoogleCloudAiplatformV1ListFeatureGroupsResponse", + "description": "Response message for FeatureRegistryService.ListFeatureGroups.", + "type": "object", + "properties": { + "featureGroups": { + "description": "The FeatureGroups matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureGroup" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureGroupsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureOnlineStore": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStore", + "description": "Vertex AI Feature Online Store provides a centralized repository for serving ML features and embedding indexes at low latency. The Feature Online Store is a top-level container.", + "type": "object", + "properties": { + "bigtable": { + "description": "Contains settings for the Cloud Bigtable instance that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable" + }, + "optimized": { + "description": "Contains settings for the Optimized store that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore. When choose Optimized storage type, need to set PrivateServiceConnectConfig.enable_private_service_connect to use private endpoint. Otherwise will use public endpoint by default.", + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized" + }, + "name": { + "description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this FeatureOnlineStore was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this FeatureOnlineStore was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "description": "Output only. State of the featureOnlineStore.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "State when the featureOnlineStore configuration is not being updated and the fields reflect the current configuration of the featureOnlineStore. The featureOnlineStore is usable in this state.", + "The state of the featureOnlineStore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featureOnlineStore. The featureOnlineStore is still usable in this state." + ], + "enum": [ + "STATE_UNSPECIFIED", + "STABLE", + "UPDATING" + ] + }, + "dedicatedServingEndpoint": { + "description": "Optional. The dedicated serving endpoint for this FeatureOnlineStore, which is different from common Vertex service endpoint.", + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint" + }, + "encryptionSpec": { + "description": "Optional. Customer-managed encryption key spec for data storage. If set, online store will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable", + "type": "object", + "properties": { + "autoScaling": { + "description": "Required. Autoscaling config applied to Bigtable Instance.", + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling" + }, + "enableDirectBigtableAccess": { + "description": "Optional. It true, enable direct access to the Bigtable instance.", + "type": "boolean" + }, + "bigtableMetadata": { + "description": "Output only. Metadata of the Bigtable instance. Output only.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata" + } + } + }, + "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling", + "type": "object", + "properties": { + "minNodeCount": { + "description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", + "type": "integer", + "format": "int32" + }, + "maxNodeCount": { + "description": "Required. The maximum number of nodes to scale up to. Must be greater than or equal to min_node_count, and less than or equal to 10 times of 'min_node_count'.", + "type": "integer", + "format": "int32" + }, + "cpuUtilizationTarget": { + "description": "Optional. A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata", + "description": "Metadata of the Bigtable instance. This is used by direct read access to the Bigtable in tenant project.", + "type": "object", + "properties": { + "tenantProjectId": { + "description": "Tenant project ID.", + "type": "string" + }, + "instanceId": { + "description": "The Cloud Bigtable instance id.", + "type": "string" + }, + "tableId": { + "description": "The Cloud Bigtable table id.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized", + "description": "Optimized storage type", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint": { + "id": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint", + "description": "The dedicated serving endpoint for this FeatureOnlineStore. Only need to set when you choose Optimized storage type. Public endpoint is provisioned by default.", + "type": "object", + "properties": { + "publicEndpointDomainName": { + "description": "Output only. This field will be populated with the domain name to use for this FeatureOnlineStore", + "readOnly": true, + "type": "string" + }, + "privateServiceConnectConfig": { + "description": "Optional. Private service connect config. The private service connection is available only for Optimized storage type, not for embedding management now. If PrivateServiceConnectConfig.enable_private_service_connect set to true, customers will use private service connection to send request. Otherwise, the connection will set to public endpoint.", + "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" + }, + "serviceAttachment": { + "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled and after FeatureViewSync is created.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse": { + "id": "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse", + "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores.", + "type": "object", + "properties": { + "featureOnlineStores": { + "description": "The FeatureOnlineStores matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureOnlineStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureView": { + "id": "GoogleCloudAiplatformV1FeatureView", + "description": "FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.", + "type": "object", + "properties": { + "bigQuerySource": { + "description": "Optional. Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1FeatureViewBigQuerySource" + }, + "featureRegistrySource": { + "description": "Optional. Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource" + }, + "vertexRagSource": { + "description": "Optional. The Vertex RAG Source that the FeatureView is linked to.", + "$ref": "GoogleCloudAiplatformV1FeatureViewVertexRagSource" + }, + "name": { + "description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this FeatureView was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this FeatureView was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "syncConfig": { + "description": "Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving.", + "$ref": "GoogleCloudAiplatformV1FeatureViewSyncConfig" + }, + "indexConfig": { + "description": "Optional. Configuration for index preparation for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving.", + "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfig" + }, + "optimizedConfig": { + "description": "Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig" + }, + "serviceAgentType": { + "description": "Optional. Service agent type used during data sync. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureView within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service account to access the BigQuery source table.", + "type": "string", + "enumDescriptions": [ + "By default, the project-level Vertex AI Service Agent is enabled.", + "Indicates the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used during sync jobs.", + "Enable a FeatureView service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during sync." + ], + "enum": [ + "SERVICE_AGENT_TYPE_UNSPECIFIED", + "SERVICE_AGENT_TYPE_PROJECT", + "SERVICE_AGENT_TYPE_FEATURE_VIEW" + ] + }, + "serviceAccountEmail": { + "description": "Output only. A Service Account unique to this FeatureView. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to sync data to the online store.", + "readOnly": true, + "type": "string" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "bigtableMetadata": { + "description": "Output only. Metadata containing information about the Cloud Bigtable.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1FeatureViewBigtableMetadata" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewBigQuerySource": { + "id": "GoogleCloudAiplatformV1FeatureViewBigQuerySource", + "type": "object", + "properties": { + "uri": { + "description": "Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", + "type": "string" + }, + "entityIdColumns": { + "description": "Required. Columns to construct entity_id / row keys.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource": { + "id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource", + "description": "A Feature Registry source for features that need to be synced to Online Store.", + "type": "object", + "properties": { + "featureGroups": { + "description": "Required. List of features that need to be synced to Online Store.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup" + } + }, + "projectNumber": { + "description": "Optional. The project number of the parent project of the Feature Groups.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup": { + "id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup", + "description": "Features belonging to a single feature group that will be synced to Online Store.", + "type": "object", + "properties": { + "featureGroupId": { + "description": "Required. Identifier of the feature group.", + "type": "string" + }, + "featureIds": { + "description": "Required. Identifiers of features under the feature group.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureViewVertexRagSource": { + "id": "GoogleCloudAiplatformV1FeatureViewVertexRagSource", + "description": "A Vertex Rag source for features that need to be synced to Online Store.", + "type": "object", + "properties": { + "uri": { + "description": "Required. The BigQuery view/table URI that will be materialized on each manual sync trigger. The table/view is expected to have the following columns and types at least: - `corpus_id` (STRING, NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - `chunk_id` (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING, NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) - `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING, NULLABLE/REQUIRED)", + "type": "string" + }, + "ragCorpusId": { + "description": "Optional. The RAG corpus id corresponding to this FeatureView.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewSyncConfig": { + "id": "GoogleCloudAiplatformV1FeatureViewSyncConfig", + "description": "Configuration for Sync. Only one option is set.", + "type": "object", + "properties": { + "cron": { + "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", + "type": "string" + }, + "continuous": { + "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewIndexConfig": { + "id": "GoogleCloudAiplatformV1FeatureViewIndexConfig", + "description": "Configuration for vector indexing.", + "type": "object", + "properties": { + "treeAhConfig": { + "description": "Optional. Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396", + "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig" + }, + "bruteForceConfig": { + "description": "Optional. Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.", + "$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig" + }, + "embeddingColumn": { + "description": "Optional. Column of embedding. This column contains the source data to create index for vector search. embedding_column must be set when using vector search.", + "type": "string" + }, + "filterColumns": { + "description": "Optional. Columns of features that're used to filter vector search results.", + "type": "array", + "items": { + "type": "string" + } + }, + "crowdingColumn": { + "description": "Optional. Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by FeatureOnlineStoreService.SearchNearestEntities to diversify search results. If NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to K in SearchNearestEntitiesRequest, it's guaranteed that no more than K entities of the same crowding attribute are returned in the response.", + "type": "string" + }, + "embeddingDimension": { + "description": "Optional. The number of dimensions of the input embedding.", + "type": "integer", + "format": "int32" + }, + "distanceMeasureType": { + "description": "Optional. The distance measure used in nearest neighbor search.", + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "Euclidean (L_2) Distance.", + "Cosine Distance. Defined as 1 - cosine similarity. We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of COSINE distance. Our algorithms have been more optimized for DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is mathematically equivalent to COSINE distance and results in the same ranking.", + "Dot Product Distance. Defined as a negative of the dot product." + ], + "enum": [ + "DISTANCE_MEASURE_TYPE_UNSPECIFIED", + "SQUARED_L2_DISTANCE", + "COSINE_DISTANCE", + "DOT_PRODUCT_DISTANCE" + ] + } + } + }, + "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig": { + "id": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig", + "description": "Configuration options for the tree-AH algorithm.", + "type": "object", + "properties": { + "leafNodeEmbeddingCount": { + "description": "Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig": { + "id": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig", + "description": "Configuration options for using brute force search.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1FeatureViewOptimizedConfig": { + "id": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", + "description": "Configuration for FeatureViews created in Optimized FeatureOnlineStore.", + "type": "object", + "properties": { + "automaticResources": { + "description": "Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000.", + "$ref": "GoogleCloudAiplatformV1AutomaticResources" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewBigtableMetadata": { + "id": "GoogleCloudAiplatformV1FeatureViewBigtableMetadata", + "description": "Metadata for the Cloud Bigtable that supports directly interacting Bigtable instances.", + "type": "object", + "properties": { + "readAppProfile": { + "description": "Output only. The Bigtable App Profile to use for reading from Bigtable.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListFeatureViewsResponse": { + "id": "GoogleCloudAiplatformV1ListFeatureViewsResponse", + "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViews.", + "type": "object", + "properties": { + "featureViews": { + "description": "The FeatureViews matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureView" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureViewsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SyncFeatureViewRequest": { + "id": "GoogleCloudAiplatformV1SyncFeatureViewRequest", + "description": "Request message for FeatureOnlineStoreAdminService.SyncFeatureView.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1SyncFeatureViewResponse": { + "id": "GoogleCloudAiplatformV1SyncFeatureViewResponse", + "description": "Response message for FeatureOnlineStoreAdminService.SyncFeatureView.", + "type": "object", + "properties": { + "featureViewSync": { + "description": "Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewSync": { + "id": "GoogleCloudAiplatformV1FeatureViewSync", + "description": "FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. Name of the FeatureViewSync. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", + "type": "string" + }, + "createTime": { + "description": "Output only. Time when this FeatureViewSync is created. Creation of a FeatureViewSync means that the job is pending / waiting for sufficient resources but may not have started the actual data transfer yet.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "runTime": { + "description": "Output only. Time when this FeatureViewSync is finished.", + "readOnly": true, + "$ref": "GoogleTypeInterval" + }, + "finalStatus": { + "description": "Output only. Final status of the FeatureViewSync.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "syncSummary": { + "description": "Output only. Summary of the sync job.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary": { + "id": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary", + "description": "Summary from the Sync job. For continuous syncs, the summary is updated periodically. For batch syncs, it gets updated on completion of the sync.", + "type": "object", + "properties": { + "rowSynced": { + "description": "Output only. Total number of rows synced.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "totalSlot": { + "description": "Output only. BigQuery slot milliseconds consumed for the sync job.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "systemWatermarkTime": { + "description": "Lower bound of the system time watermark for the sync job. This is only set for continuously syncing feature views.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse": { + "id": "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse", + "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViewSyncs.", + "type": "object", + "properties": { + "featureViewSyncs": { + "description": "The FeatureViewSyncs matching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewSync" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureViewSyncsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FetchFeatureValuesRequest": { + "id": "GoogleCloudAiplatformV1FetchFeatureValuesRequest", + "description": "Request message for FeatureOnlineStoreService.FetchFeatureValues. All the features under the requested feature view will be returned.", + "type": "object", + "properties": { + "dataKey": { + "description": "Optional. The request key to fetch feature values for.", + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" + }, + "dataFormat": { + "description": "Optional. Response data format. If not set, FeatureViewDataFormat.KEY_VALUE will be used.", + "type": "string", + "enumDescriptions": [ + "Not set. Will be treated as the KeyValue format.", + "Return response data in key-value format.", + "Return response data in proto Struct format." + ], + "enum": [ + "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", + "KEY_VALUE", + "PROTO_STRUCT" + ] + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDataKey": { + "id": "GoogleCloudAiplatformV1FeatureViewDataKey", + "description": "Lookup key for a feature view.", + "type": "object", + "properties": { + "key": { + "description": "String key to use for lookup.", + "type": "string" + }, + "compositeKey": { + "description": "The actual Entity ID will be composed from this struct. This should match with the way ID is defined in the FeatureView spec.", + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey": { + "id": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey", + "description": "ID that is comprised from several parts (columns).", + "type": "object", + "properties": { + "parts": { + "description": "Parts to construct Entity ID. Should match with the same ID columns as defined in FeatureView in the same order.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1FetchFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponse", + "description": "Response message for FeatureOnlineStoreService.FetchFeatureValues", + "type": "object", + "properties": { + "keyValues": { + "description": "Feature values in KeyValue format.", + "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList" + }, + "protoStruct": { + "description": "Feature values in proto Struct format.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "dataKey": { + "description": "The data key associated with this response. Will only be populated for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs.", + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" + } + } + }, + "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList": { + "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList", + "description": "Response structure in the format of key (feature name) and (feature) value pair.", + "type": "object", + "properties": { + "features": { + "description": "List of feature names and values.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair" + } + } + } + }, + "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair": { + "id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair", + "description": "Feature name & value pair.", + "type": "object", + "properties": { + "value": { + "description": "Feature value.", + "$ref": "GoogleCloudAiplatformV1FeatureValue" + }, + "name": { + "description": "Feature short name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SearchNearestEntitiesRequest": { + "id": "GoogleCloudAiplatformV1SearchNearestEntitiesRequest", + "description": "The request message for FeatureOnlineStoreService.SearchNearestEntities.", + "type": "object", + "properties": { + "query": { + "description": "Required. The query.", + "$ref": "GoogleCloudAiplatformV1NearestNeighborQuery" + }, + "returnFullEntity": { + "description": "Optional. If set to true, the full entities (including all vector values and metadata) of the nearest neighbors are returned; otherwise only entity id of the nearest neighbors will be returned. Note that returning full entities will significantly increase the latency and cost of the query.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborQuery": { + "id": "GoogleCloudAiplatformV1NearestNeighborQuery", + "description": "A query to find a number of similar entities.", + "type": "object", + "properties": { + "entityId": { + "description": "Optional. The entity id whose similar entities should be searched for. If embedding is set, search will use embedding instead of entity_id.", + "type": "string" + }, + "embedding": { + "description": "Optional. The embedding vector that be used for similar search.", + "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding" + }, + "neighborCount": { + "description": "Optional. The number of similar entities to be retrieved from feature view for each query.", + "type": "integer", + "format": "int32" + }, + "stringFilters": { + "description": "Optional. The list of string filters.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter" + } + }, + "numericFilters": { + "description": "Optional. The list of numeric filters.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter" + } + }, + "perCrowdingAttributeNeighborCount": { + "description": "Optional. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than sper_crowding_attribute_neighbor_count of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity.", + "type": "integer", + "format": "int32" + }, + "parameters": { + "description": "Optional. Parameters that can be set to tune query on the fly.", + "$ref": "GoogleCloudAiplatformV1NearestNeighborQueryParameters" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding": { + "id": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding", + "description": "The embedding vector.", + "type": "object", + "properties": { + "value": { + "description": "Optional. Individual value in the embedding.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter": { + "id": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter", + "description": "String filter is used to search a subset of the entities by using boolean rules on string columns. For example: if a query specifies string filter with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' then that query will match entities that are red or blue, but if those points are also purple, then they will be excluded even if they are red/blue. Only string filter is supported for now, numeric filter will be supported in the near future.", + "type": "object", + "properties": { + "name": { + "description": "Required. Column names in BigQuery that used as filters.", + "type": "string" + }, + "allowTokens": { + "description": "Optional. The allowed tokens.", + "type": "array", + "items": { + "type": "string" + } + }, + "denyTokens": { + "description": "Optional. The denied tokens.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter": { + "id": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter", + "description": "Numeric filter is used to search a subset of the entities by using boolean rules on numeric columns. For example: Database Point 0: {name: \"a\" value_int: 42} {name: \"b\" value_float: 1.0} Database Point 1: {name: \"a\" value_int: 10} {name: \"b\" value_float: 2.0} Database Point 2: {name: \"a\" value_int: -1} {name: \"b\" value_float: 3.0} Query: {name: \"a\" value_int: 12 operator: LESS} // Matches Point 1, 2 {name: \"b\" value_float: 2.0 operator: EQUAL} // Matches Point 1", + "type": "object", + "properties": { + "valueInt": { + "description": "int value type.", + "type": "string", + "format": "int64" + }, + "valueFloat": { + "description": "float value type.", + "type": "number", + "format": "float" + }, + "valueDouble": { + "description": "double value type.", + "type": "number", + "format": "double" + }, + "name": { + "description": "Required. Column name in BigQuery that used as filters.", + "type": "string" + }, + "op": { + "description": "Optional. This MUST be specified for queries and must NOT be specified for database points.", + "type": "string", + "enumDescriptions": [ + "Unspecified operator.", + "Entities are eligible if their value is \u003c the query's.", + "Entities are eligible if their value is \u003c= the query's.", + "Entities are eligible if their value is == the query's.", + "Entities are eligible if their value is \u003e= the query's.", + "Entities are eligible if their value is \u003e the query's.", + "Entities are eligible if their value is != the query's." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "LESS", + "LESS_EQUAL", + "EQUAL", + "GREATER_EQUAL", + "GREATER", + "NOT_EQUAL" + ] + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborQueryParameters": { + "id": "GoogleCloudAiplatformV1NearestNeighborQueryParameters", + "description": "Parameters that can be overrided in each query to tune query latency and recall.", + "type": "object", + "properties": { + "approximateNeighborCandidates": { + "description": "Optional. The number of neighbors to find via approximate search before exact reordering is performed; if set, this value must be \u003e neighbor_count.", + "type": "integer", + "format": "int32" + }, + "leafNodesSearchFraction": { + "description": "Optional. The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1SearchNearestEntitiesResponse": { + "id": "GoogleCloudAiplatformV1SearchNearestEntitiesResponse", + "description": "Response message for FeatureOnlineStoreService.SearchNearestEntities", + "type": "object", + "properties": { + "nearestNeighbors": { + "description": "The nearest neighbors of the query entity.", + "$ref": "GoogleCloudAiplatformV1NearestNeighbors" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighbors": { + "id": "GoogleCloudAiplatformV1NearestNeighbors", + "description": "Nearest neighbors for one query.", + "type": "object", + "properties": { + "neighbors": { + "description": "All its neighbors.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NearestNeighborsNeighbor" + } + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborsNeighbor": { + "id": "GoogleCloudAiplatformV1NearestNeighborsNeighbor", + "description": "A neighbor of the query vector.", + "type": "object", + "properties": { + "entityId": { + "description": "The id of the similar entity.", + "type": "string" + }, + "distance": { + "description": "The distance between the neighbor and the query vector.", + "type": "number", + "format": "double" + }, + "entityKeyValues": { + "description": "The attributes of the neighbor, e.g. filters, crowding and metadata Note that full entities are returned only when \"return_full_entity\" is set to true. Otherwise, only the \"entity_id\" and \"distance\" fields are populated.", + "$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponse" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest": { + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest", + "description": "Request message for FeatureOnlineStoreService.FeatureViewDirectWrite.", + "type": "object", + "properties": { + "dataKeyAndFeatureValues": { + "description": "Required. The data keys and associated feature values.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues": { + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues", + "description": "A data key and associated feature values to write to the feature view.", + "type": "object", + "properties": { + "dataKey": { + "description": "The data key.", + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" + }, + "features": { + "description": "List of features to write.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature": { + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature", + "description": "Feature name & value pair.", + "type": "object", + "properties": { + "value": { + "description": "Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field.", + "$ref": "GoogleCloudAiplatformV1FeatureValue" + }, + "name": { + "description": "Feature short name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse": { + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse", + "description": "Response message for FeatureOnlineStoreService.FeatureViewDirectWrite.", + "type": "object", + "properties": { + "status": { + "description": "Response status for the keys listed in FeatureViewDirectWriteResponse.write_responses. The error only applies to the listed data keys - the stream will remain open for further FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests. Partial failures (e.g. if the first 10 keys of a request fail, but the rest succeed) from a single request may result in multiple responses - there will be one response for the successful request keys and one response for the failing request keys.", + "$ref": "GoogleRpcStatus" + }, + "writeResponses": { + "description": "Details about write for each key. If status is not OK, WriteResponse.data_key will have the key with error, but WriteResponse.online_store_write_time will not be present.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse" + } + } + } + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse": { + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse", + "description": "Details about the write for each key.", + "type": "object", + "properties": { + "dataKey": { + "description": "What key is this write response associated with.", + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey" + }, + "onlineStoreWriteTime": { + "description": "When the feature values were written to the online store. If FeatureViewDirectWriteResponse.status is not OK, this field is not populated.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest": { + "id": "GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest", + "description": "Request message for FeatureOnlineStoreService.GenerateFetchAccessToken.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse": { + "id": "GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse", + "description": "Response message for FeatureOnlineStoreService.GenerateFetchAccessToken.", + "type": "object", + "properties": { + "accessToken": { + "description": "The OAuth 2.0 access token.", + "type": "string" + }, + "expireTime": { + "description": "Token expiration time. This is always set", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1CacheConfig": { + "id": "GoogleCloudAiplatformV1CacheConfig", + "description": "Config of GenAI caching features. This is a singleton resource.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "type": "string" + }, + "disableCache": { + "description": "If set to true, disables GenAI caching. Otherwise caching is enabled.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1CachedContent": { + "id": "GoogleCloudAiplatformV1CachedContent", + "description": "A resource used in LLM queries for users to explicitly specify what to cache and how to cache.", + "type": "object", + "properties": { + "expireTime": { + "description": "Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input.", + "type": "string", + "format": "google-datetime" + }, + "ttl": { + "description": "Input only. The TTL for this resource. The expiration time is computed: now + TTL.", + "type": "string", + "format": "google-duration" + }, + "name": { + "description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", + "type": "string" + }, + "displayName": { + "description": "Optional. Immutable. The user-generated meaningful display name of the cached content.", + "type": "string" + }, + "model": { + "description": "Immutable. The name of the `Model` to use for cached content. Currently, only the published Gemini base models are supported, in form of projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}", + "type": "string" + }, + "systemInstruction": { + "description": "Optional. Input only. Immutable. Developer set system instruction. Currently, text only", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "contents": { + "description": "Optional. Input only. Immutable. The content to cache", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "tools": { + "description": "Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + }, + "toolConfig": { + "description": "Optional. Input only. Immutable. Tool config. This config is shared for all tools", + "$ref": "GoogleCloudAiplatformV1ToolConfig" + }, + "createTime": { + "description": "Output only. Creation time of the cache entry.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. When the cache entry was last updated in UTC time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "usageMetadata": { + "description": "Output only. Metadata on the usage of the cached content.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CachedContentUsageMetadata" + }, + "encryptionSpec": { + "description": "Input only. Immutable. Customer-managed encryption key spec for a `CachedContent`. If set, this `CachedContent` and all its sub-resources will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + } + } + }, + "GoogleCloudAiplatformV1ToolConfig": { + "id": "GoogleCloudAiplatformV1ToolConfig", + "description": "Tool config. This config is shared for all tools provided in the request.", + "type": "object", + "properties": { + "functionCallingConfig": { + "description": "Optional. Function calling config.", + "$ref": "GoogleCloudAiplatformV1FunctionCallingConfig" + }, + "retrievalConfig": { + "description": "Optional. Retrieval config.", + "$ref": "GoogleCloudAiplatformV1RetrievalConfig" + } + } + }, + "GoogleCloudAiplatformV1FunctionCallingConfig": { + "id": "GoogleCloudAiplatformV1FunctionCallingConfig", + "description": "Function calling config.", + "type": "object", + "properties": { + "mode": { + "description": "Optional. Function calling mode.", + "type": "string", + "enumDescriptions": [ + "Unspecified function calling mode. This value should not be used.", + "Default model behavior, model decides to predict either function calls or natural language response.", + "Model is constrained to always predicting function calls only. If \"allowed_function_names\" are set, the predicted function calls will be limited to any one of \"allowed_function_names\", else the predicted function calls will be any one of the provided \"function_declarations\".", + "Model will not predict any function calls. Model behavior is same as when not passing any function declarations." + ], + "enum": [ + "MODE_UNSPECIFIED", + "AUTO", + "ANY", + "NONE" + ] + }, + "allowedFunctionNames": { + "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RetrievalConfig": { + "id": "GoogleCloudAiplatformV1RetrievalConfig", + "description": "Retrieval config.", + "type": "object", + "properties": { + "latLng": { + "description": "The location of the user.", + "$ref": "GoogleTypeLatLng" + }, + "languageCode": { + "description": "The language code of the user.", + "type": "string" + } + } + }, + "GoogleTypeLatLng": { + "id": "GoogleTypeLatLng", + "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", + "type": "object", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "type": "number", + "format": "double" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1CachedContentUsageMetadata": { + "id": "GoogleCloudAiplatformV1CachedContentUsageMetadata", + "description": "Metadata on the usage of the cached content.", + "type": "object", + "properties": { + "totalTokenCount": { + "description": "Total number of tokens that the cached content consumes.", + "type": "integer", + "format": "int32" + }, + "textCount": { + "description": "Number of text characters.", + "type": "integer", + "format": "int32" + }, + "imageCount": { + "description": "Number of images.", + "type": "integer", + "format": "int32" + }, + "videoDurationSeconds": { + "description": "Duration of video in seconds.", + "type": "integer", + "format": "int32" + }, + "audioDurationSeconds": { + "description": "Duration of audio in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListCachedContentsResponse": { + "id": "GoogleCloudAiplatformV1ListCachedContentsResponse", + "description": "Response with a list of CachedContents.", + "type": "object", + "properties": { + "cachedContents": { + "description": "List of cached contents.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TuningJob": { + "id": "GoogleCloudAiplatformV1TuningJob", + "description": "Represents a TuningJob that runs with Google owned models.", + "type": "object", + "properties": { + "baseModel": { + "description": "The base model that is being tuned. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).", + "type": "string" + }, + "preTunedModel": { + "description": "The pre-tuned model for continuous tuning.", + "$ref": "GoogleCloudAiplatformV1PreTunedModel" + }, + "supervisedTuningSpec": { + "description": "Tuning Spec for Supervised Fine Tuning.", + "$ref": "GoogleCloudAiplatformV1SupervisedTuningSpec" + }, + "preferenceOptimizationSpec": { + "description": "Tuning Spec for Preference Optimization.", + "$ref": "GoogleCloudAiplatformV1PreferenceOptimizationSpec" + }, + "name": { + "description": "Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", + "readOnly": true, + "type": "string" + }, + "tunedModelDisplayName": { + "description": "Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tuned_model_display_name will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version.", + "type": "string" + }, + "description": { + "description": "Optional. The description of the TuningJob.", + "type": "string" + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "createTime": { + "description": "Output only. Time when the TuningJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the TuningJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "experiment": { + "description": "Output only. The Experiment associated with this TuningJob.", + "readOnly": true, + "type": "string" + }, + "tunedModel": { + "description": "Output only. The tuned model resources associated with this TuningJob.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1TunedModel" + }, + "tuningDataStats": { + "description": "Output only. The tuning data statistics associated with this TuningJob.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1TuningDataStats" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "serviceAccount": { + "description": "The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PreTunedModel": { + "id": "GoogleCloudAiplatformV1PreTunedModel", + "description": "A pre-tuned model for continuous tuning.", + "type": "object", + "properties": { + "tunedModelName": { + "description": "The resource name of the Model. E.g., a model resource name with a specified version id or alias: `projects/{project}/locations/{location}/models/{model}@{version_id}` `projects/{project}/locations/{location}/models/{model}@{alias}` Or, omit the version id to use the default version: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + }, + "checkpointId": { + "description": "Optional. The source checkpoint id. If not specified, the default checkpoint will be used.", + "type": "string" + }, + "baseModel": { + "description": "Output only. The name of the base model this PreTunedModel was tuned from.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SupervisedTuningSpec": { + "id": "GoogleCloudAiplatformV1SupervisedTuningSpec", + "description": "Tuning Spec for Supervised Tuning for first party models.", + "type": "object", + "properties": { + "trainingDatasetUri": { + "description": "Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", + "type": "string" + }, + "validationDatasetUri": { + "description": "Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", + "type": "string" + }, + "hyperParameters": { + "description": "Optional. Hyperparameters for SFT.", + "$ref": "GoogleCloudAiplatformV1SupervisedHyperParameters" + }, + "exportLastCheckpointOnly": { + "description": "Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SupervisedHyperParameters": { + "id": "GoogleCloudAiplatformV1SupervisedHyperParameters", + "description": "Hyperparameters for SFT.", + "type": "object", + "properties": { + "epochCount": { + "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", + "type": "string", + "format": "int64" + }, + "learningRateMultiplier": { + "description": "Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.", + "type": "number", + "format": "double" + }, + "adapterSize": { + "description": "Optional. Adapter size for tuning.", + "type": "string", + "enumDescriptions": [ + "Adapter size is unspecified.", + "Adapter size 1.", + "Adapter size 2.", + "Adapter size 4.", + "Adapter size 8.", + "Adapter size 16.", + "Adapter size 32." + ], + "enum": [ + "ADAPTER_SIZE_UNSPECIFIED", + "ADAPTER_SIZE_ONE", + "ADAPTER_SIZE_TWO", + "ADAPTER_SIZE_FOUR", + "ADAPTER_SIZE_EIGHT", + "ADAPTER_SIZE_SIXTEEN", + "ADAPTER_SIZE_THIRTY_TWO" + ] + } + } + }, + "GoogleCloudAiplatformV1PreferenceOptimizationSpec": { + "id": "GoogleCloudAiplatformV1PreferenceOptimizationSpec", + "description": "Tuning Spec for Preference Optimization.", + "type": "object", + "properties": { + "trainingDatasetUri": { + "description": "Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + }, + "validationDatasetUri": { + "description": "Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + }, + "hyperParameters": { + "description": "Optional. Hyperparameters for Preference Optimization.", + "$ref": "GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters" + }, + "exportLastCheckpointOnly": { + "description": "Optional. If set to true, disable intermediate checkpoints for Preference Optimization and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for Preference Optimization. Default is false.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters": { + "id": "GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters", + "description": "Hyperparameters for Preference Optimization.", + "type": "object", + "properties": { + "epochCount": { + "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", + "type": "string", + "format": "int64" + }, + "learningRateMultiplier": { + "description": "Optional. Multiplier for adjusting the default learning rate.", + "type": "number", + "format": "double" + }, + "adapterSize": { + "description": "Optional. Adapter size for preference optimization.", + "type": "string", + "enumDescriptions": [ + "Adapter size is unspecified.", + "Adapter size 1.", + "Adapter size 2.", + "Adapter size 4.", + "Adapter size 8.", + "Adapter size 16.", + "Adapter size 32." + ], + "enum": [ + "ADAPTER_SIZE_UNSPECIFIED", + "ADAPTER_SIZE_ONE", + "ADAPTER_SIZE_TWO", + "ADAPTER_SIZE_FOUR", + "ADAPTER_SIZE_EIGHT", + "ADAPTER_SIZE_SIXTEEN", + "ADAPTER_SIZE_THIRTY_TWO" + ] + }, + "beta": { + "description": "Optional. Weight for KL Divergence regularization.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1TunedModel": { + "id": "GoogleCloudAiplatformV1TunedModel", + "description": "The Model Registry Model and Online Prediction Endpoint associated with this TuningJob.", + "type": "object", + "properties": { + "model": { + "description": "Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version ID will be 1. For continuous tuning, if the provided tuned_model_display_name is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version ID in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}`", + "readOnly": true, + "type": "string" + }, + "endpoint": { + "description": "Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", + "readOnly": true, + "type": "string" + }, + "checkpoints": { + "description": "Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TunedModelCheckpoint" + } + } + } + }, + "GoogleCloudAiplatformV1TunedModelCheckpoint": { + "id": "GoogleCloudAiplatformV1TunedModelCheckpoint", + "description": "TunedModelCheckpoint for the Tuned Model of a Tuning Job.", + "type": "object", + "properties": { + "checkpointId": { + "description": "The ID of the checkpoint.", + "type": "string" + }, + "epoch": { + "description": "The epoch of the checkpoint.", + "type": "string", + "format": "int64" + }, + "step": { + "description": "The step of the checkpoint.", + "type": "string", + "format": "int64" + }, + "endpoint": { + "description": "The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TuningDataStats": { + "id": "GoogleCloudAiplatformV1TuningDataStats", + "description": "The tuning data statistic values for TuningJob.", + "type": "object", + "properties": { + "supervisedTuningDataStats": { + "description": "The SFT Tuning data stats.", + "$ref": "GoogleCloudAiplatformV1SupervisedTuningDataStats" + }, + "preferenceOptimizationDataStats": { + "description": "Output only. Statistics for preference optimization.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PreferenceOptimizationDataStats" + } + } + }, + "GoogleCloudAiplatformV1SupervisedTuningDataStats": { + "id": "GoogleCloudAiplatformV1SupervisedTuningDataStats", + "description": "Tuning data statistics for Supervised Tuning.", + "type": "object", + "properties": { + "tuningDatasetExampleCount": { + "description": "Output only. Number of examples in the tuning dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "totalTuningCharacterCount": { + "description": "Output only. Number of tuning characters in the tuning dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "totalBillableCharacterCount": { + "description": "Output only. Number of billable characters in the tuning dataset.", + "readOnly": true, + "deprecated": true, + "type": "string", + "format": "int64" + }, + "totalBillableTokenCount": { + "description": "Output only. Number of billable tokens in the tuning dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "tuningStepCount": { + "description": "Output only. Number of tuning steps for this Tuning Job.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "userInputTokenDistribution": { + "description": "Output only. Dataset distributions for the user input tokens.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" + }, + "userOutputTokenDistribution": { + "description": "Output only. Dataset distributions for the user output tokens.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" + }, + "userMessagePerExampleDistribution": { + "description": "Output only. Dataset distributions for the messages per example.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution" + }, + "userDatasetExamples": { + "description": "Output only. Sample user messages in the training dataset uri.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "totalTruncatedExampleCount": { + "description": "Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "truncatedExampleIndices": { + "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "droppedExampleReasons": { + "description": "Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution": { + "id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", + "description": "Dataset distribution for Supervised Tuning.", + "type": "object", + "properties": { + "sum": { + "description": "Output only. Sum of a given population of values.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "billableSum": { + "description": "Output only. Sum of a given population of values that are billable.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "min": { + "description": "Output only. The minimum of the population values.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "max": { + "description": "Output only. The maximum of the population values.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "mean": { + "description": "Output only. The arithmetic mean of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "median": { + "description": "Output only. The median of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "p5": { + "description": "Output only. The 5th percentile of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "p95": { + "description": "Output only. The 95th percentile of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "buckets": { + "description": "Output only. Defines the histogram bucket.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket" + } + } + } + }, + "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket": { + "id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket", + "description": "Dataset bucket used to create a histogram for the distribution given a population of values.", + "type": "object", + "properties": { + "count": { + "description": "Output only. Number of values in the bucket.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "left": { + "description": "Output only. Left bound of the bucket.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "right": { + "description": "Output only. Right bound of the bucket.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1PreferenceOptimizationDataStats": { + "id": "GoogleCloudAiplatformV1PreferenceOptimizationDataStats", + "description": "Statistics computed for datasets used for preference optimization.", + "type": "object", + "properties": { + "tuningDatasetExampleCount": { + "description": "Output only. Number of examples in the tuning dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "totalBillableTokenCount": { + "description": "Output only. Number of billable tokens in the tuning dataset.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "tuningStepCount": { + "description": "Output only. Number of tuning steps for this Tuning Job.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "userInputTokenDistribution": { + "description": "Output only. Dataset distributions for the user input tokens.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DatasetDistribution" + }, + "userOutputTokenDistribution": { + "description": "Output only. Dataset distributions for the user output tokens.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DatasetDistribution" + }, + "scoreVariancePerExampleDistribution": { + "description": "Output only. Dataset distributions for scores variance per example.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DatasetDistribution" + }, + "scoresDistribution": { + "description": "Output only. Dataset distributions for scores.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DatasetDistribution" + }, + "userDatasetExamples": { + "description": "Output only. Sample user examples in the training dataset.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GeminiPreferenceExample" + } + }, + "droppedExampleIndices": { + "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "droppedExampleReasons": { + "description": "Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1DatasetDistribution": { + "id": "GoogleCloudAiplatformV1DatasetDistribution", + "description": "Distribution computed over a tuning dataset.", + "type": "object", + "properties": { + "sum": { + "description": "Output only. Sum of a given population of values.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "min": { + "description": "Output only. The minimum of the population values.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "max": { + "description": "Output only. The maximum of the population values.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "mean": { + "description": "Output only. The arithmetic mean of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "median": { + "description": "Output only. The median of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "p5": { + "description": "Output only. The 5th percentile of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "p95": { + "description": "Output only. The 95th percentile of the values in the population.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "buckets": { + "description": "Output only. Defines the histogram bucket.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DatasetDistributionDistributionBucket" + } + } + } + }, + "GoogleCloudAiplatformV1DatasetDistributionDistributionBucket": { + "id": "GoogleCloudAiplatformV1DatasetDistributionDistributionBucket", + "description": "Dataset bucket used to create a histogram for the distribution given a population of values.", + "type": "object", + "properties": { + "count": { + "description": "Output only. Number of values in the bucket.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "left": { + "description": "Output only. Left bound of the bucket.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "right": { + "description": "Output only. Right bound of the bucket.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1GeminiPreferenceExample": { + "id": "GoogleCloudAiplatformV1GeminiPreferenceExample", + "description": "Input example for preference optimization.", + "type": "object", + "properties": { + "contents": { + "description": "Multi-turn contents that represents the Prompt.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "completions": { + "description": "List of completions for a given prompt.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion" + } + } + } + }, + "GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion": { + "id": "GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion", + "description": "Completion and its preference score.", + "type": "object", + "properties": { + "completion": { + "description": "Single turn completion for the given prompt.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "score": { + "description": "The score for the given completion.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ListTuningJobsResponse": { + "id": "GoogleCloudAiplatformV1ListTuningJobsResponse", + "description": "Response message for GenAiTuningService.ListTuningJobs", + "type": "object", + "properties": { + "tuningJobs": { + "description": "List of TuningJobs in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TuningJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelTuningJobRequest": { + "id": "GoogleCloudAiplatformV1CancelTuningJobRequest", + "description": "Request message for GenAiTuningService.CancelTuningJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RebaseTunedModelRequest": { + "id": "GoogleCloudAiplatformV1RebaseTunedModelRequest", + "description": "Request message for GenAiTuningService.RebaseTunedModel.", + "type": "object", + "properties": { + "tunedModelRef": { + "description": "Required. TunedModel reference to retrieve the legacy model information.", + "$ref": "GoogleCloudAiplatformV1TunedModelRef" + }, + "tuningJob": { + "description": "Optional. The TuningJob to be updated. Users can use this TuningJob field to overwrite tuning configs.", + "$ref": "GoogleCloudAiplatformV1TuningJob" + }, + "artifactDestination": { + "description": "Optional. The Google Cloud Storage location to write the artifacts.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "deployToSameEndpoint": { + "description": "Optional. By default, bison to gemini migration will always create new model/endpoint, but for gemini-1.0 to gemini-1.5 migration, we default deploy to the same endpoint. See details in this Section.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1TunedModelRef": { + "id": "GoogleCloudAiplatformV1TunedModelRef", + "description": "TunedModel Reference for legacy model migration.", + "type": "object", + "properties": { + "tunedModel": { + "description": "Support migration from model registry.", + "type": "string" + }, + "tuningJob": { + "description": "Support migration from tuning job list page, from gemini-1.0-pro-002 to 1.5 and above.", + "type": "string" + }, + "pipelineJob": { + "description": "Support migration from tuning job list page, from bison model to gemini model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Index": { + "id": "GoogleCloudAiplatformV1Index", + "description": "A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the Index.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the Index.", + "type": "string" + }, + "metadataSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "metadata": { + "description": "An additional information about the Index; the schema of the metadata can be found in metadata_schema.", + "type": "any" + }, + "deployedIndexes": { + "description": "Output only. The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedIndexRef" + } + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Index was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Index was most recently updated. This also includes any update to the contents of the Index. Note that Operations working on this Index may have their Operations.metadata.generic_metadata.update_time a little after the value of this timestamp, yet that does not mean their results are not already reflected in the Index. Result of any successfully completed Operation on the Index is reflected in it.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "indexStats": { + "description": "Output only. Stats of the index resource.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1IndexStats" + }, + "indexUpdateMethod": { + "description": "Immutable. The update method to use with this Index. If not set, BATCH_UPDATE will be used by default.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "BatchUpdate: user can call UpdateIndex with files on Cloud Storage of Datapoints to update.", + "StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time." + ], + "enum": [ + "INDEX_UPDATE_METHOD_UNSPECIFIED", + "BATCH_UPDATE", + "STREAM_UPDATE" + ] + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for an Index. If set, this Index and all sub-resources of this Index will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1DeployedIndexRef": { + "id": "GoogleCloudAiplatformV1DeployedIndexRef", + "description": "Points to a DeployedIndex.", + "type": "object", + "properties": { + "indexEndpoint": { + "description": "Immutable. A resource name of the IndexEndpoint.", + "type": "string" + }, + "deployedIndexId": { + "description": "Immutable. The ID of the DeployedIndex in the above IndexEndpoint.", + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the DeployedIndex.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1IndexStats": { + "id": "GoogleCloudAiplatformV1IndexStats", + "description": "Stats of the Index.", + "type": "object", + "properties": { + "vectorsCount": { + "description": "Output only. The number of dense vectors in the Index.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "sparseVectorsCount": { + "description": "Output only. The number of sparse vectors in the Index.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "shardsCount": { + "description": "Output only. The number of shards in the Index.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListIndexesResponse": { + "id": "GoogleCloudAiplatformV1ListIndexesResponse", + "description": "Response message for IndexService.ListIndexes.", + "type": "object", + "properties": { + "indexes": { + "description": "List of indexes in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Index" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListIndexesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UpsertDatapointsRequest": { + "id": "GoogleCloudAiplatformV1UpsertDatapointsRequest", + "description": "Request message for IndexService.UpsertDatapoints", + "type": "object", + "properties": { + "datapoints": { + "description": "A list of datapoints to be created/updated.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1IndexDatapoint" + } + }, + "updateMask": { + "description": "Optional. Update mask is used to specify the fields to be overwritten in the datapoints by the update. The fields specified in the update_mask are relative to each IndexDatapoint inside datapoints, not the full request. Updatable fields: * Use `all_restricts` to update both restricts and numeric_restricts.", + "type": "string", + "format": "google-fieldmask" + } + } + }, + "GoogleCloudAiplatformV1IndexDatapoint": { + "id": "GoogleCloudAiplatformV1IndexDatapoint", + "description": "A datapoint of Index.", + "type": "object", + "properties": { + "datapointId": { + "description": "Required. Unique identifier of the datapoint.", + "type": "string" + }, + "featureVector": { + "description": "Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "sparseEmbedding": { + "description": "Optional. Feature embedding vector for sparse index.", + "$ref": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding" + }, + "restricts": { + "description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses categorical tokens. See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1IndexDatapointRestriction" + } + }, + "numericRestricts": { + "description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses numeric comparisons.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction" + } + }, + "crowdingTag": { + "description": "Optional. CrowdingTag of the datapoint, the number of neighbors to return in each crowding can be configured during query.", + "$ref": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag" + }, + "embeddingMetadata": { + "description": "Optional. The key-value map of additional metadata for the datapoint.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding": { + "id": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", + "description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", + "type": "object", + "properties": { + "values": { + "description": "Required. The list of embedding values of the sparse vector.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "dimensions": { + "description": "Required. The list of indexes for the embedding values of the sparse vector.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "GoogleCloudAiplatformV1IndexDatapointRestriction": { + "id": "GoogleCloudAiplatformV1IndexDatapointRestriction", + "description": "Restriction of a datapoint which describe its attributes(tokens) from each of several attribute categories(namespaces).", + "type": "object", + "properties": { + "namespace": { + "description": "The namespace of this restriction. e.g.: color.", + "type": "string" + }, + "allowList": { + "description": "The attributes to allow in this namespace. e.g.: 'red'", + "type": "array", + "items": { + "type": "string" + } + }, + "denyList": { + "description": "The attributes to deny in this namespace. e.g.: 'blue'", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1IndexDatapointNumericRestriction": { + "id": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction", + "description": "This field allows restricts to be based on numeric comparisons rather than categorical tokens.", + "type": "object", + "properties": { + "valueInt": { + "description": "Represents 64 bit integer.", + "type": "string", + "format": "int64" + }, + "valueFloat": { + "description": "Represents 32 bit float.", + "type": "number", + "format": "float" + }, + "valueDouble": { + "description": "Represents 64 bit float.", + "type": "number", + "format": "double" + }, + "namespace": { + "description": "The namespace of this restriction. e.g.: cost.", + "type": "string" + }, + "op": { + "description": "This MUST be specified for queries and must NOT be specified for datapoints.", + "type": "string", + "enumDescriptions": [ + "Default value of the enum.", + "Datapoints are eligible iff their value is \u003c the query's.", + "Datapoints are eligible iff their value is \u003c= the query's.", + "Datapoints are eligible iff their value is == the query's.", + "Datapoints are eligible iff their value is \u003e= the query's.", + "Datapoints are eligible iff their value is \u003e the query's.", + "Datapoints are eligible iff their value is != the query's." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "LESS", + "LESS_EQUAL", + "EQUAL", + "GREATER_EQUAL", + "GREATER", + "NOT_EQUAL" + ] + } + } + }, + "GoogleCloudAiplatformV1IndexDatapointCrowdingTag": { + "id": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag", + "description": "Crowding tag is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute.", + "type": "object", + "properties": { + "crowdingAttribute": { + "description": "The attribute value used for crowding. The maximum number of neighbors to return per crowding attribute value (per_crowding_attribute_num_neighbors) is configured per-query. This field is ignored if per_crowding_attribute_num_neighbors is larger than the total number of neighbors to return for a given query.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UpsertDatapointsResponse": { + "id": "GoogleCloudAiplatformV1UpsertDatapointsResponse", + "description": "Response message for IndexService.UpsertDatapoints", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RemoveDatapointsRequest": { + "id": "GoogleCloudAiplatformV1RemoveDatapointsRequest", + "description": "Request message for IndexService.RemoveDatapoints", + "type": "object", + "properties": { + "datapointIds": { + "description": "A list of datapoint ids to be deleted.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RemoveDatapointsResponse": { + "id": "GoogleCloudAiplatformV1RemoveDatapointsResponse", + "description": "Response message for IndexService.RemoveDatapoints", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1IndexEndpoint": { + "id": "GoogleCloudAiplatformV1IndexEndpoint", + "description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the IndexEndpoint.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the IndexEndpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the IndexEndpoint.", + "type": "string" + }, + "deployedIndexes": { + "description": "Output only. The indexes deployed in this endpoint.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedIndex" + } + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this IndexEndpoint was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this IndexEndpoint was last updated. This timestamp is not updated when the endpoint's DeployedIndexes are updated, e.g. due to updates of the original Indexes they are the deployments of.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "network": { + "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the IndexEndpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. network and private_service_connect_config are mutually exclusive. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name.", + "type": "string" + }, + "enablePrivateServiceConnect": { + "description": "Optional. Deprecated: If true, expose the IndexEndpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", + "deprecated": true, + "type": "boolean" + }, + "privateServiceConnectConfig": { + "description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive.", + "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" + }, + "publicEndpointEnabled": { + "description": "Optional. If true, the deployed index will be accessible through public endpoint.", + "type": "boolean" + }, + "publicEndpointDomainName": { + "description": "Output only. If public_endpoint_enabled is true, this field will be populated with the domain name to use for this index endpoint.", + "readOnly": true, + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for an IndexEndpoint. If set, this IndexEndpoint and all sub-resources of this IndexEndpoint will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1DeployedIndex": { + "id": "GoogleCloudAiplatformV1DeployedIndex", + "description": "A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.", + "type": "object", + "properties": { + "id": { + "description": "Required. The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.", + "type": "string" + }, + "index": { + "description": "Required. The name of the Index this is the deployment of. We may refer to this Index as the DeployedIndex's \"original\" Index.", + "type": "string" + }, + "displayName": { + "description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the DeployedIndex was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "privateEndpoints": { + "description": "Output only. Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1IndexPrivateEndpoints" + }, + "indexSyncTime": { + "description": "Output only. The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with update_time equal or before this sync time are contained in this DeployedIndex.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "automaticResources": { + "description": "Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000.", + "$ref": "GoogleCloudAiplatformV1AutomaticResources" + }, + "dedicatedResources": { + "description": "Optional. A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field min_replica_count must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when min_replica_count=1. If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.", + "$ref": "GoogleCloudAiplatformV1DedicatedResources" + }, + "enableAccessLogging": { + "description": "Optional. If true, private endpoint's access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each MatchRequest. Note that logs may incur a cost, especially if the deployed index receives a high queries per second rate (QPS). Estimate your costs before enabling this option.", + "type": "boolean" + }, + "enableDatapointUpsertLogging": { + "description": "Optional. If true, logs to Cloud Logging errors relating to datapoint upserts. Under normal operation conditions, these log entries should be very rare. However, if incompatible datapoint updates are being uploaded to an index, a high volume of log entries may be generated in a short period of time. Note that logs may incur a cost, especially if the deployed index receives a high volume of datapoint upserts. Estimate your costs before enabling this option.", + "type": "boolean" + }, + "deployedIndexAuthConfig": { + "description": "Optional. If set, the authentication is enabled for the private endpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfig" + }, + "reservedIpRanges": { + "description": "Optional. A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.", + "type": "array", + "items": { + "type": "string" + } + }, + "deploymentGroup": { + "description": "Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default').", + "type": "string" + }, + "deploymentTier": { + "description": "Optional. The deployment tier that the index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED will use a system-chosen default tier.", + "type": "string", + "enumDescriptions": [ + "Default deployment tier.", + "Optimized for costs." + ], + "enum": [ + "DEPLOYMENT_TIER_UNSPECIFIED", + "STORAGE" + ] + }, + "pscAutomationConfigs": { + "description": "Optional. If set for PSC deployed index, PSC connection will be automatically created after deployment is done and the endpoint information is populated in private_endpoints.psc_automated_endpoints.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PSCAutomationConfig" + } + } + } + }, + "GoogleCloudAiplatformV1IndexPrivateEndpoints": { + "id": "GoogleCloudAiplatformV1IndexPrivateEndpoints", + "description": "IndexPrivateEndpoints proto is used to provide paths for users to send requests via private endpoints (e.g. private service access, private service connect). To send request via private service access, use match_grpc_address. To send request via private service connect, use service_attachment.", + "type": "object", + "properties": { + "matchGrpcAddress": { + "description": "Output only. The ip address used to send match gRPC requests.", + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", + "readOnly": true, + "type": "string" + }, + "pscAutomatedEndpoints": { + "description": "Output only. PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PscAutomatedEndpoints" + } + } + } + }, + "GoogleCloudAiplatformV1PscAutomatedEndpoints": { + "id": "GoogleCloudAiplatformV1PscAutomatedEndpoints", + "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", + "type": "object", + "properties": { + "projectId": { + "description": "Corresponding project_id in pscAutomationConfigs", + "type": "string" + }, + "network": { + "description": "Corresponding network in pscAutomationConfigs.", + "type": "string" + }, + "matchAddress": { + "description": "Ip Address created by the automated forwarding rule.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployedIndexAuthConfig": { + "id": "GoogleCloudAiplatformV1DeployedIndexAuthConfig", + "description": "Used to set up the auth on the DeployedIndex's private endpoint.", + "type": "object", + "properties": { + "authProvider": { + "description": "Defines the authentication provider that the DeployedIndex uses.", + "$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider" + } + } + }, + "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider": { + "id": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider", + "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", + "type": "object", + "properties": { + "audiences": { + "description": "The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedIssuers": { + "description": "A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: `service-account-name@project-id.iam.gserviceaccount.com`", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ListIndexEndpointsResponse": { + "id": "GoogleCloudAiplatformV1ListIndexEndpointsResponse", + "description": "Response message for IndexEndpointService.ListIndexEndpoints.", + "type": "object", + "properties": { + "indexEndpoints": { + "description": "List of IndexEndpoints in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1IndexEndpoint" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListIndexEndpointsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployIndexRequest": { + "id": "GoogleCloudAiplatformV1DeployIndexRequest", + "description": "Request message for IndexEndpointService.DeployIndex.", + "type": "object", + "properties": { + "deployedIndex": { + "description": "Required. The DeployedIndex to be created within the IndexEndpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedIndex" + } + } + }, + "GoogleCloudAiplatformV1UndeployIndexRequest": { + "id": "GoogleCloudAiplatformV1UndeployIndexRequest", + "description": "Request message for IndexEndpointService.UndeployIndex.", + "type": "object", + "properties": { + "deployedIndexId": { + "description": "Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CustomJob": { + "id": "GoogleCloudAiplatformV1CustomJob", + "description": "Represents a job that runs custom workloads such as a Docker container or a Python package. A CustomJob can have multiple worker pools and each worker pool can have its own machine and input spec. A CustomJob will be cleaned up once the job enters terminal state (failed or succeeded).", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of a CustomJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the CustomJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "jobSpec": { + "description": "Required. Job spec.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "createTime": { + "description": "Output only. Time when the CustomJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the CustomJob for the first time entered the `JOB_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the CustomJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the CustomJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options for a CustomJob. If this is set, then all resources created by the CustomJob will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "webAccessUris": { + "description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1CustomJobSpec": { + "id": "GoogleCloudAiplatformV1CustomJobSpec", + "description": "Represents the spec of a CustomJob.", + "type": "object", + "properties": { + "persistentResourceId": { + "description": "Optional. The ID of the PersistentResource in the same Project and Location which to run If this is specified, the job will be run on existing machines held by the PersistentResource instead of on-demand short-live machines. The network and CMEK configs on the job should be consistent with those on the PersistentResource, otherwise, the job will be rejected.", + "type": "string" + }, + "workerPoolSpecs": { + "description": "Required. The spec of the worker pools including machine type and Docker image. All worker pools except the first one are optional and can be skipped by providing an empty value.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1WorkerPoolSpec" + } + }, + "scheduling": { + "description": "Scheduling options for a CustomJob.", + "$ref": "GoogleCloudAiplatformV1Scheduling" + }, + "serviceAccount": { + "description": "Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account. If unspecified, the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) for the CustomJob's project is used.", + "type": "string" + }, + "network": { + "description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the job is not peered with any network.", + "type": "string" + }, + "reservedIpRanges": { + "description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", + "type": "array", + "items": { + "type": "string" + } + }, + "pscInterfaceConfig": { + "description": "Optional. Configuration for PSC-I for CustomJob.", + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" + }, + "baseOutputDirectory": { + "description": "The Cloud Storage location to store the output of this CustomJob or HyperparameterTuningJob. For HyperparameterTuningJob, the baseOutputDirectory of each child CustomJob backing a Trial is set to a subdirectory of name id under its parent HyperparameterTuningJob's baseOutputDirectory. The following Vertex AI environment variables will be passed to containers or python modules when this field is set: For CustomJob: * AIP_MODEL_DIR = `/model/` * AIP_CHECKPOINT_DIR = `/checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob backing a Trial of HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/` * AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `//logs/`", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "protectedArtifactLocationId": { + "description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", + "type": "string" + }, + "tensorboard": { + "description": "Optional. The name of a Vertex AI Tensorboard resource to which this CustomJob will upload Tensorboard logs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", + "type": "string" + }, + "enableWebAccess": { + "description": "Optional. Whether you want Vertex AI to enable [interactive shell access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) to training containers. If set to `true`, you can access interactive shells at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", + "type": "boolean" + }, + "enableDashboardAccess": { + "description": "Optional. Whether you want Vertex AI to enable access to the customized dashboard in training chief container. If set to `true`, you can access the dashboard at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", + "type": "boolean" + }, + "experiment": { + "description": "Optional. The Experiment associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}`", + "type": "string" + }, + "experimentRun": { + "description": "Optional. The Experiment Run associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}`", + "type": "string" + }, + "models": { + "description": "Optional. The name of the Model resources for which to generate a mapping to artifact URIs. Applicable only to some of the Google-provided custom jobs. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1WorkerPoolSpec": { + "id": "GoogleCloudAiplatformV1WorkerPoolSpec", + "description": "Represents the spec of a worker pool in a job.", + "type": "object", + "properties": { + "containerSpec": { + "description": "The custom container task.", + "$ref": "GoogleCloudAiplatformV1ContainerSpec" + }, + "pythonPackageSpec": { + "description": "The Python packaged task.", + "$ref": "GoogleCloudAiplatformV1PythonPackageSpec" + }, + "machineSpec": { + "description": "Optional. Immutable. The specification of a single machine.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "replicaCount": { + "description": "Optional. The number of worker replicas to use for this worker pool.", + "type": "string", + "format": "int64" + }, + "nfsMounts": { + "description": "Optional. List of NFS mount spec.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NfsMount" + } + }, + "lustreMounts": { + "description": "Optional. List of Lustre mounts.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1LustreMount" + } + }, + "diskSpec": { + "description": "Disk spec.", + "$ref": "GoogleCloudAiplatformV1DiskSpec" + } + } + }, + "GoogleCloudAiplatformV1ContainerSpec": { + "id": "GoogleCloudAiplatformV1ContainerSpec", + "description": "The spec of a Container.", + "type": "object", + "properties": { + "imageUri": { + "description": "Required. The URI of a container image in the Container Registry that is to be run on each worker replica.", + "type": "string" + }, + "command": { + "description": "The command to be invoked when the container is started. It overrides the entrypoint instruction in Dockerfile when provided.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "The arguments to be passed when starting the container.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Environment variables to be passed to the container. Maximum limit is 100.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + } + } + } + }, + "GoogleCloudAiplatformV1EnvVar": { + "id": "GoogleCloudAiplatformV1EnvVar", + "description": "Represents an environment variable present in a Container or Python Module.", + "type": "object", + "properties": { + "name": { + "description": "Required. Name of the environment variable. Must be a valid C identifier.", + "type": "string" + }, + "value": { + "description": "Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PythonPackageSpec": { + "id": "GoogleCloudAiplatformV1PythonPackageSpec", + "description": "The spec of a Python packaged code.", + "type": "object", + "properties": { + "executorImageUri": { + "description": "Required. The URI of a container image in Artifact Registry that will run the provided Python package. Vertex AI provides a wide range of executor images with pre-installed packages to meet users' various use cases. See the list of [pre-built containers for training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). You must use an image from this list.", + "type": "string" + }, + "packageUris": { + "description": "Required. The Google Cloud Storage location of the Python package files which are the training program and its dependent packages. The maximum number of package URIs is 100.", + "type": "array", + "items": { + "type": "string" + } + }, + "pythonModule": { + "description": "Required. The Python module name to run after installing the packages.", + "type": "string" + }, + "args": { + "description": "Command line arguments to be passed to the Python task.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Environment variables to be passed to the python module. Maximum limit is 100.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + } + } + } + }, + "GoogleCloudAiplatformV1NfsMount": { + "id": "GoogleCloudAiplatformV1NfsMount", + "description": "Represents a mount configuration for Network File System (NFS) to mount.", + "type": "object", + "properties": { + "server": { + "description": "Required. IP address of the NFS server.", + "type": "string" + }, + "path": { + "description": "Required. Source path exported from NFS server. Has to start with '/', and combined with the ip address, it indicates the source mount path in the form of `server:path`", + "type": "string" + }, + "mountPoint": { + "description": "Required. Destination mount path. The NFS will be mounted for the user under /mnt/nfs/", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1LustreMount": { + "id": "GoogleCloudAiplatformV1LustreMount", + "description": "Represents a mount configuration for Lustre file system.", + "type": "object", + "properties": { + "instanceIp": { + "description": "Required. IP address of the Lustre instance.", + "type": "string" + }, + "volumeHandle": { + "description": "Required. The unique identifier of the Lustre volume.", + "type": "string" + }, + "filesystem": { + "description": "Required. The name of the Lustre filesystem.", + "type": "string" + }, + "mountPoint": { + "description": "Required. Destination mount path. The Lustre file system will be mounted for the user under /mnt/lustre/", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DiskSpec": { + "id": "GoogleCloudAiplatformV1DiskSpec", + "description": "Represents the spec of disk options.", + "type": "object", + "properties": { + "bootDiskType": { + "description": "Type of the boot disk. For non-A3U machines, the default value is \"pd-ssd\", for A3U machines, the default value is \"hyperdisk-balanced\". Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive), \"pd-standard\" (Persistent Disk Hard Disk Drive) or \"hyperdisk-balanced\".", + "type": "string" + }, + "bootDiskSizeGb": { + "description": "Size in GB of the boot disk (default is 100GB).", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1Scheduling": { + "id": "GoogleCloudAiplatformV1Scheduling", + "description": "All parameters related to queuing and scheduling of custom jobs.", + "type": "object", + "properties": { + "timeout": { + "description": "Optional. The maximum job running time. The default is 7 days.", + "type": "string", + "format": "google-duration" + }, + "restartJobOnWorkerRestart": { + "description": "Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", + "type": "boolean" + }, + "strategy": { + "description": "Optional. This determines which type of scheduling strategy to use.", + "type": "string", + "enumDescriptions": [ + "Strategy will default to STANDARD.", + "Deprecated. Regular on-demand provisioning strategy.", + "Deprecated. Low cost by making potential use of spot resources.", + "Standard provisioning strategy uses regular on-demand resources.", + "Spot provisioning strategy uses spot resources.", + "Flex Start strategy uses DWS to queue for resources." + ], + "enumDeprecated": [ + false, + true, + true, + false, + false, + false + ], + "enum": [ + "STRATEGY_UNSPECIFIED", + "ON_DEMAND", + "LOW_COST", + "STANDARD", + "SPOT", + "FLEX_START" + ] + }, + "disableRetries": { + "description": "Optional. Indicates if the job should retry for internal errors after the job starts running. If true, overrides `Scheduling.restart_job_on_worker_restart` to false.", + "type": "boolean" + }, + "maxWaitDuration": { + "description": "Optional. This is the maximum duration that a job will wait for the requested resources to be provisioned if the scheduling strategy is set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait indefinitely. The default is 24 hours.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1PscInterfaceConfig": { + "id": "GoogleCloudAiplatformV1PscInterfaceConfig", + "description": "Configuration for PSC-I.", + "type": "object", + "properties": { + "networkAttachment": { + "description": "Optional. The name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.", + "type": "string" + }, + "dnsPeeringConfigs": { + "description": "Optional. DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DnsPeeringConfig" + } + } + } + }, + "GoogleCloudAiplatformV1DnsPeeringConfig": { + "id": "GoogleCloudAiplatformV1DnsPeeringConfig", + "description": "DNS peering configuration. These configurations are used to create DNS peering zones in the Vertex tenant project VPC, enabling resolution of records within the specified domain hosted in the target network's Cloud DNS.", + "type": "object", + "properties": { + "domain": { + "description": "Required. The DNS name suffix of the zone being peered to, e.g., \"my-internal-domain.corp.\". Must end with a dot.", + "type": "string" + }, + "targetProject": { + "description": "Required. The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.", + "type": "string" + }, + "targetNetwork": { + "description": "Required. The VPC network name in the target_project where the DNS zone specified by 'domain' is visible.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListCustomJobsResponse": { + "id": "GoogleCloudAiplatformV1ListCustomJobsResponse", + "description": "Response message for JobService.ListCustomJobs", + "type": "object", + "properties": { + "customJobs": { + "description": "List of CustomJobs in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CustomJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListCustomJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelCustomJobRequest": { + "id": "GoogleCloudAiplatformV1CancelCustomJobRequest", + "description": "Request message for JobService.CancelCustomJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1DataLabelingJob": { + "id": "GoogleCloudAiplatformV1DataLabelingJob", + "description": "DataLabelingJob is used to trigger a human labeling job on unlabeled data from the following Dataset:", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the DataLabelingJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the DataLabelingJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a DataLabelingJob.", + "type": "string" + }, + "datasets": { + "description": "Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", + "type": "array", + "items": { + "type": "string" + } + }, + "annotationLabels": { + "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labelerCount": { + "description": "Required. Number of labelers to work on each DataItem.", + "type": "integer", + "format": "int32" + }, + "instructionUri": { + "description": "Required. The Google Cloud Storage location of the instruction pdf. This pdf is shared with labelers, and provides detailed description on how to label DataItems in Datasets.", + "type": "string" + }, + "inputsSchemaUri": { + "description": "Required. Points to a YAML file stored on Google Cloud Storage describing the config for a specific type of DataLabelingJob. The schema files that can be used here are found in the https://storage.googleapis.com/google-cloud-aiplatform bucket in the /schema/datalabelingjob/inputs/ folder.", + "type": "string" + }, + "inputs": { + "description": "Required. Input config parameters for the DataLabelingJob.", + "type": "any" + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "labelingProgress": { + "description": "Output only. Current labeling job progress percentage scaled in interval [0, 100], indicating the percentage of DataItems that has been finished.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "currentSpend": { + "description": "Output only. Estimated cost(in US dollars) that the DataLabelingJob has incurred to date.", + "readOnly": true, + "$ref": "GoogleTypeMoney" + }, + "createTime": { + "description": "Output only. Timestamp when this DataLabelingJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this DataLabelingJob was updated most recently.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. DataLabelingJob errors. It is only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "specialistPools": { + "description": "The SpecialistPools' resource names associated with this job.", + "type": "array", + "items": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a DataLabelingJob. If set, this DataLabelingJob will be secured by this key. Note: Annotations created in the DataLabelingJob are associated with the EncryptionSpec of the Dataset they are exported to.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "activeLearningConfig": { + "description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally via several iterations. For every iteration, it will select a batch of data based on the sampling strategy.", + "$ref": "GoogleCloudAiplatformV1ActiveLearningConfig" + } + } + }, + "GoogleTypeMoney": { + "id": "GoogleTypeMoney", + "description": "Represents an amount of money with its currency type.", + "type": "object", + "properties": { + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string", + "format": "int64" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ActiveLearningConfig": { + "id": "GoogleCloudAiplatformV1ActiveLearningConfig", + "description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally by several iterations. For every iteration, it will select a batch of data based on the sampling strategy.", + "type": "object", + "properties": { + "maxDataItemCount": { + "description": "Max number of human labeled DataItems.", + "type": "string", + "format": "int64" + }, + "maxDataItemPercentage": { + "description": "Max percent of total DataItems for human labeling.", + "type": "integer", + "format": "int32" + }, + "sampleConfig": { + "description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", + "$ref": "GoogleCloudAiplatformV1SampleConfig" + }, + "trainingConfig": { + "description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems.", + "$ref": "GoogleCloudAiplatformV1TrainingConfig" + } + } + }, + "GoogleCloudAiplatformV1SampleConfig": { + "id": "GoogleCloudAiplatformV1SampleConfig", + "description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", + "type": "object", + "properties": { + "initialBatchSamplePercentage": { + "description": "The percentage of data needed to be labeled in the first batch.", + "type": "integer", + "format": "int32" + }, + "followingBatchSamplePercentage": { + "description": "The percentage of data needed to be labeled in each following batch (except the first batch).", + "type": "integer", + "format": "int32" + }, + "sampleStrategy": { + "description": "Field to choose sampling strategy. Sampling strategy will decide which data should be selected for human labeling in every batch.", + "type": "string", + "enumDescriptions": [ + "Default will be treated as UNCERTAINTY.", + "Sample the most uncertain data to label." + ], + "enum": [ + "SAMPLE_STRATEGY_UNSPECIFIED", + "UNCERTAINTY" + ] + } + } + }, + "GoogleCloudAiplatformV1TrainingConfig": { + "id": "GoogleCloudAiplatformV1TrainingConfig", + "description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems.", + "type": "object", + "properties": { + "timeoutTrainingMilliHours": { + "description": "The timeout hours for the CMLE training job, expressed in milli hours i.e. 1,000 value in this field means 1 hour.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ListDataLabelingJobsResponse": { + "id": "GoogleCloudAiplatformV1ListDataLabelingJobsResponse", + "description": "Response message for JobService.ListDataLabelingJobs.", + "type": "object", + "properties": { + "dataLabelingJobs": { + "description": "A list of DataLabelingJobs that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DataLabelingJob" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelDataLabelingJobRequest": { + "id": "GoogleCloudAiplatformV1CancelDataLabelingJobRequest", + "description": "Request message for JobService.CancelDataLabelingJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1HyperparameterTuningJob": { + "id": "GoogleCloudAiplatformV1HyperparameterTuningJob", + "description": "Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification and multiple CustomJobs with identical CustomJob specification.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the HyperparameterTuningJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the HyperparameterTuningJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "studySpec": { + "description": "Required. Study configuration of the HyperparameterTuningJob.", + "$ref": "GoogleCloudAiplatformV1StudySpec" + }, + "maxTrialCount": { + "description": "Required. The desired total number of Trials.", + "type": "integer", + "format": "int32" + }, + "parallelTrialCount": { + "description": "Required. The desired number of Trials to run in parallel.", + "type": "integer", + "format": "int32" + }, + "maxFailedTrialCount": { + "description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", + "type": "integer", + "format": "int32" + }, + "trialJobSpec": { + "description": "Required. The spec of a trial job. The same spec applies to the CustomJobs created in all the trials.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "trials": { + "description": "Output only. Trials of the HyperparameterTuningJob.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Trial" + } + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "createTime": { + "description": "Output only. Time when the HyperparameterTuningJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the HyperparameterTuningJob for the first time entered the `JOB_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the HyperparameterTuningJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the HyperparameterTuningJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options for a HyperparameterTuningJob. If this is set, then all resources created by the HyperparameterTuningJob will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1StudySpec": { + "id": "GoogleCloudAiplatformV1StudySpec", + "description": "Represents specification of a Study.", + "type": "object", + "properties": { + "decayCurveStoppingSpec": { + "description": "The automated early stopping spec using decay curve rule.", + "$ref": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec" + }, + "medianAutomatedStoppingSpec": { + "description": "The automated early stopping spec using median rule.", + "$ref": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec" + }, + "convexAutomatedStoppingSpec": { + "description": "The automated early stopping spec using convex stopping rule.", + "$ref": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec" + }, + "metrics": { + "description": "Required. Metric specs for the Study.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1StudySpecMetricSpec" + } + }, + "parameters": { + "description": "Required. The set of parameters to tune.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec" + } + }, + "algorithm": { + "description": "The search algorithm specified for the Study.", + "type": "string", + "enumDescriptions": [ + "The default algorithm used by Vertex AI for [hyperparameter tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier).", + "Simple grid search within the feasible space. To use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.", + "Simple random search within the feasible space." + ], + "enum": [ + "ALGORITHM_UNSPECIFIED", + "GRID_SEARCH", + "RANDOM_SEARCH" + ] + }, + "observationNoise": { + "description": "The observation noise level of the study. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", + "type": "string", + "enumDescriptions": [ + "The default noise level chosen by Vertex AI.", + "Vertex AI assumes that the objective function is (nearly) perfectly reproducible, and will never repeat the same Trial parameters.", + "Vertex AI will estimate the amount of noise in metric evaluations, it may repeat the same Trial parameters more than once." + ], + "enum": [ + "OBSERVATION_NOISE_UNSPECIFIED", + "LOW", + "HIGH" + ] + }, + "measurementSelectionType": { + "description": "Describe which measurement selection type will be used", + "type": "string", + "enumDescriptions": [ + "Will be treated as LAST_MEASUREMENT.", + "Use the last measurement reported.", + "Use the best measurement reported." + ], + "enum": [ + "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", + "LAST_MEASUREMENT", + "BEST_MEASUREMENT" + ] + }, + "studyStoppingConfig": { + "description": "Conditions for automated stopping of a Study. Enable automated stopping by configuring at least one condition.", + "$ref": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig" + } + } + }, + "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec": { + "id": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec", + "description": "The decay curve automated stopping rule builds a Gaussian Process Regressor to predict the final objective value of a Trial based on the already completed Trials and the intermediate measurements of the current Trial. Early stopping is requested for the current Trial if there is very low probability to exceed the optimal value found so far.", + "type": "object", + "properties": { + "useElapsedDuration": { + "description": "True if Measurement.elapsed_duration is used as the x-axis of each Trials Decay Curve. Otherwise, Measurement.step_count will be used as the x-axis.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec": { + "id": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec", + "description": "The median automated stopping rule stops a pending Trial if the Trial's best objective_value is strictly below the median 'performance' of all completed Trials reported up to the Trial's last measurement. Currently, 'performance' refers to the running average of the objective values reported by the Trial in each measurement.", + "type": "object", + "properties": { + "useElapsedDuration": { + "description": "True if median automated stopping rule applies on Measurement.elapsed_duration. It means that elapsed_duration field of latest measurement of current Trial is used to compute median objective value for each completed Trials.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec": { + "id": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec", + "description": "Configuration for ConvexAutomatedStoppingSpec. When there are enough completed trials (configured by min_measurement_count), for pending trials with enough measurements and steps, the policy first computes an overestimate of the objective value at max_num_steps according to the slope of the incomplete objective value curve. No prediction can be made if the curve is completely flat. If the overestimation is worse than the best objective value of the completed trials, this pending trial will be early-stopped, but a last measurement will be added to the pending trial with max_num_steps and predicted objective value from the autoregression model.", + "type": "object", + "properties": { + "maxStepCount": { + "description": "Steps used in predicting the final objective for early stopped trials. In general, it's set to be the same as the defined steps in training / tuning. If not defined, it will learn it from the completed trials. When use_steps is false, this field is set to the maximum elapsed seconds.", + "type": "string", + "format": "int64" + }, + "minStepCount": { + "description": "Minimum number of steps for a trial to complete. Trials which do not have a measurement with step_count \u003e min_step_count won't be considered for early stopping. It's ok to set it to 0, and a trial can be early stopped at any stage. By default, min_step_count is set to be one-tenth of the max_step_count. When use_elapsed_duration is true, this field is set to the minimum elapsed seconds.", + "type": "string", + "format": "int64" + }, + "minMeasurementCount": { + "description": "The minimal number of measurements in a Trial. Early-stopping checks will not trigger if less than min_measurement_count+1 completed trials or pending trials with less than min_measurement_count measurements. If not defined, the default value is 5.", + "type": "string", + "format": "int64" + }, + "learningRateParameterName": { + "description": "The hyper-parameter name used in the tuning job that stands for learning rate. Leave it blank if learning rate is not in a parameter in tuning. The learning_rate is used to estimate the objective value of the ongoing trial.", + "type": "string" + }, + "useElapsedDuration": { + "description": "This bool determines whether or not the rule is applied based on elapsed_secs or steps. If use_elapsed_duration==false, the early stopping decision is made according to the predicted objective values according to the target steps. If use_elapsed_duration==true, elapsed_secs is used instead of steps. Also, in this case, the parameters max_num_steps and min_num_steps are overloaded to contain max_elapsed_seconds and min_elapsed_seconds.", + "type": "boolean" + }, + "updateAllStoppedTrials": { + "description": "ConvexAutomatedStoppingSpec by default only updates the trials that needs to be early stopped using a newly trained auto-regressive model. When this flag is set to True, all stopped trials from the beginning are potentially updated in terms of their `final_measurement`. Also, note that the training logic of autoregressive models is different in this case. Enabling this option has shown better results and this may be the default option in the future.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1StudySpecMetricSpec": { + "id": "GoogleCloudAiplatformV1StudySpecMetricSpec", + "description": "Represents a metric to optimize.", + "type": "object", + "properties": { + "metricId": { + "description": "Required. The ID of the metric. Must not contain whitespaces and must be unique amongst all MetricSpecs.", + "type": "string" + }, + "goal": { + "description": "Required. The optimization goal of the metric.", + "type": "string", + "enumDescriptions": [ + "Goal Type will default to maximize.", + "Maximize the goal metric.", + "Minimize the goal metric." + ], + "enum": [ + "GOAL_TYPE_UNSPECIFIED", + "MAXIMIZE", + "MINIMIZE" + ] + }, + "safetyConfig": { + "description": "Used for safe search. In the case, the metric will be a safety metric. You must provide a separate metric for objective metric.", + "$ref": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig" + } + } + }, + "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig": { + "id": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig", + "description": "Used in safe optimization to specify threshold levels and risk tolerance.", + "type": "object", + "properties": { + "safetyThreshold": { + "description": "Safety threshold (boundary value between safe and unsafe). NOTE that if you leave SafetyMetricConfig unset, a default value of 0 will be used.", + "type": "number", + "format": "double" + }, + "desiredMinSafeTrialsFraction": { + "description": "Desired minimum fraction of safe trials (over total number of trials) that should be targeted by the algorithm at any time during the study (best effort). This should be between 0.0 and 1.0 and a value of 0.0 means that there is no minimum and an algorithm proceeds without targeting any specific fraction. A value of 1.0 means that the algorithm attempts to only Suggest safe Trials.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpec", + "description": "Represents a single parameter to optimize.", + "type": "object", + "properties": { + "doubleValueSpec": { + "description": "The value spec for a 'DOUBLE' parameter.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec" + }, + "integerValueSpec": { + "description": "The value spec for an 'INTEGER' parameter.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec" + }, + "categoricalValueSpec": { + "description": "The value spec for a 'CATEGORICAL' parameter.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec" + }, + "discreteValueSpec": { + "description": "The value spec for a 'DISCRETE' parameter.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec" + }, + "parameterId": { + "description": "Required. The ID of the parameter. Must not contain whitespaces and must be unique amongst all ParameterSpecs.", + "type": "string" + }, + "scaleType": { + "description": "How the parameter should be scaled. Leave unset for `CATEGORICAL` parameters.", + "type": "string", + "enumDescriptions": [ + "By default, no scaling is applied.", + "Scales the feasible space to (0, 1) linearly.", + "Scales the feasible space logarithmically to (0, 1). The entire feasible space must be strictly positive.", + "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result is that values close to the top of the feasible space are spread out more than points near the bottom. The entire feasible space must be strictly positive." + ], + "enum": [ + "SCALE_TYPE_UNSPECIFIED", + "UNIT_LINEAR_SCALE", + "UNIT_LOG_SCALE", + "UNIT_REVERSE_LOG_SCALE" + ] + }, + "conditionalParameterSpecs": { + "description": "A conditional parameter node is active if the parameter's value matches the conditional node's parent_value_condition. If two items in conditional_parameter_specs have the same name, they must have disjoint parent_value_condition.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec" + } + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec", + "description": "Value specification for a parameter in `DOUBLE` type.", + "type": "object", + "properties": { + "minValue": { + "description": "Required. Inclusive minimum value of the parameter.", + "type": "number", + "format": "double" + }, + "maxValue": { + "description": "Required. Inclusive maximum value of the parameter.", + "type": "number", + "format": "double" + }, + "defaultValue": { + "description": "A default value for a `DOUBLE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec", + "description": "Value specification for a parameter in `INTEGER` type.", + "type": "object", + "properties": { + "minValue": { + "description": "Required. Inclusive minimum value of the parameter.", + "type": "string", + "format": "int64" + }, + "maxValue": { + "description": "Required. Inclusive maximum value of the parameter.", + "type": "string", + "format": "int64" + }, + "defaultValue": { + "description": "A default value for an `INTEGER` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec", + "description": "Value specification for a parameter in `CATEGORICAL` type.", + "type": "object", + "properties": { + "values": { + "description": "Required. The list of possible categories.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultValue": { + "description": "A default value for a `CATEGORICAL` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec", + "description": "Value specification for a parameter in `DISCRETE` type.", + "type": "object", + "properties": { + "values": { + "description": "Required. A list of possible values. The list should be in increasing order and at least 1e-10 apart. For instance, this parameter might have possible settings of 1.5, 2.5, and 4.0. This list should not contain more than 1,000 values.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "defaultValue": { + "description": "A default value for a `DISCRETE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. It automatically rounds to the nearest feasible discrete point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec", + "description": "Represents a parameter spec with condition from its parent parameter.", + "type": "object", + "properties": { + "parentDiscreteValues": { + "description": "The spec for matching values from a parent parameter of `DISCRETE` type.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition" + }, + "parentIntValues": { + "description": "The spec for matching values from a parent parameter of `INTEGER` type.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition" + }, + "parentCategoricalValues": { + "description": "The spec for matching values from a parent parameter of `CATEGORICAL` type.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition" + }, + "parameterSpec": { + "description": "Required. The spec for a conditional parameter.", + "$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec" + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", + "description": "Represents the spec to match discrete values from parent parameter.", + "type": "object", + "properties": { + "values": { + "description": "Required. Matches values of the parent parameter of 'DISCRETE' type. All values must exist in `discrete_value_spec` of parent parameter. The Epsilon of the value matching is 1e-10.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", + "description": "Represents the spec to match integer values from parent parameter.", + "type": "object", + "properties": { + "values": { + "description": "Required. Matches values of the parent parameter of 'INTEGER' type. All values must lie in `integer_value_spec` of parent parameter.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition": { + "id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", + "description": "Represents the spec to match categorical values from parent parameter.", + "type": "object", + "properties": { + "values": { + "description": "Required. Matches values of the parent parameter of 'CATEGORICAL' type. All values must exist in `categorical_value_spec` of parent parameter.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig": { + "id": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig", + "description": "The configuration (stopping conditions) for automated stopping of a Study. Conditions include trial budgets, time budgets, and convergence detection.", + "type": "object", + "properties": { + "shouldStopAsap": { + "description": "If true, a Study enters STOPPING_ASAP whenever it would normally enters STOPPING state. The bottom line is: set to true if you want to interrupt on-going evaluations of Trials as soon as the study stopping condition is met. (Please see Study.State documentation for the source of truth).", + "type": "boolean" + }, + "minimumRuntimeConstraint": { + "description": "Each \"stopping rule\" in this proto specifies an \"if\" condition. Before Vizier would generate a new suggestion, it first checks each specified stopping rule, from top to bottom in this list. Note that the first few rules (e.g. minimum_runtime_constraint, min_num_trials) will prevent other stopping rules from being evaluated until they are met. For example, setting `min_num_trials=5` and `always_stop_after= 1 hour` means that the Study will ONLY stop after it has 5 COMPLETED trials, even if more than an hour has passed since its creation. It follows the first applicable rule (whose \"if\" condition is satisfied) to make a stopping decision. If none of the specified rules are applicable, then Vizier decides that the study should not stop. If Vizier decides that the study should stop, the study enters STOPPING state (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The automatic study state transition happens precisely as described above; that is, deleting trials or updating StudyConfig NEVER automatically moves the study state back to ACTIVE. If you want to _resume_ a Study that was stopped, 1) change the stopping conditions if necessary, 2) activate the study, and then 3) ask for suggestions. If the specified time or duration has not passed, do not stop the study.", + "$ref": "GoogleCloudAiplatformV1StudyTimeConstraint" + }, + "maximumRuntimeConstraint": { + "description": "If the specified time or duration has passed, stop the study.", + "$ref": "GoogleCloudAiplatformV1StudyTimeConstraint" + }, + "minNumTrials": { + "description": "If there are fewer than this many COMPLETED trials, do not stop the study.", + "type": "integer", + "format": "int32" + }, + "maxNumTrials": { + "description": "If there are more than this many trials, stop the study.", + "type": "integer", + "format": "int32" + }, + "maxNumTrialsNoProgress": { + "description": "If the objective value has not improved for this many consecutive trials, stop the study. WARNING: Effective only for single-objective studies.", + "type": "integer", + "format": "int32" + }, + "maxDurationNoProgress": { + "description": "If the objective value has not improved for this much time, stop the study. WARNING: Effective only for single-objective studies.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1StudyTimeConstraint": { + "id": "GoogleCloudAiplatformV1StudyTimeConstraint", + "description": "Time-based Constraint for Study", + "type": "object", + "properties": { + "maxDuration": { + "description": "Counts the wallclock time passed since the creation of this Study.", + "type": "string", + "format": "google-duration" + }, + "endTime": { + "description": "Compares the wallclock time to this time. Must use UTC timezone.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1Trial": { + "id": "GoogleCloudAiplatformV1Trial", + "description": "A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the Trial assigned by the service.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The identifier of the Trial assigned by the service.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The detailed state of the Trial.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The Trial state is unspecified.", + "Indicates that a specific Trial has been requested, but it has not yet been suggested by the service.", + "Indicates that the Trial has been suggested.", + "Indicates that the Trial should stop according to the service.", + "Indicates that the Trial is completed successfully.", + "Indicates that the Trial should not be attempted again. The service will set a Trial to INFEASIBLE when it's done but missing the final_measurement." + ], + "enum": [ + "STATE_UNSPECIFIED", + "REQUESTED", + "ACTIVE", + "STOPPING", + "SUCCEEDED", + "INFEASIBLE" + ] + }, + "parameters": { + "description": "Output only. The parameters of the Trial.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrialParameter" + } + }, + "finalMeasurement": { + "description": "Output only. The final measurement containing the objective value.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Measurement" + }, + "measurements": { + "description": "Output only. A list of measurements that are strictly lexicographically ordered by their induced tuples (steps, elapsed_duration). These are used for early stopping computations.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Measurement" + } + }, + "startTime": { + "description": "Output only. Time when the Trial was started.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "clientId": { + "description": "Output only. The identifier of the client that originally requested this Trial. Each client is identified by a unique client_id. When a client asks for a suggestion, Vertex AI Vizier will assign it a Trial. The client should evaluate the Trial, complete it, and report back to Vertex AI Vizier. If suggestion is asked again by same client_id before the Trial is completed, the same Trial will be returned. Multiple clients with different client_ids can ask for suggestions simultaneously, each of them will get their own Trial.", + "readOnly": true, + "type": "string" + }, + "infeasibleReason": { + "description": "Output only. A human readable string describing why the Trial is infeasible. This is set only if Trial state is `INFEASIBLE`.", + "readOnly": true, + "type": "string" + }, + "customJob": { + "description": "Output only. The CustomJob name linked to the Trial. It's set for a HyperparameterTuningJob's Trial.", + "readOnly": true, + "type": "string" + }, + "webAccessUris": { + "description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1TrialParameter": { + "id": "GoogleCloudAiplatformV1TrialParameter", + "description": "A message representing a parameter to be tuned.", + "type": "object", + "properties": { + "parameterId": { + "description": "Output only. The ID of the parameter. The parameter should be defined in StudySpec's Parameters.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. The value of the parameter. `number_value` will be set if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. `string_value` will be set if a parameter defined in StudySpec is in type 'CATEGORICAL'.", + "readOnly": true, + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1Measurement": { + "id": "GoogleCloudAiplatformV1Measurement", + "description": "A message representing a Measurement of a Trial. A Measurement contains the Metrics got by executing a Trial using suggested hyperparameter values.", + "type": "object", + "properties": { + "elapsedDuration": { + "description": "Output only. Time that the Trial has been running at the point of this Measurement.", + "readOnly": true, + "type": "string", + "format": "google-duration" + }, + "stepCount": { + "description": "Output only. The number of steps the machine learning model has been trained for. Must be non-negative.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "metrics": { + "description": "Output only. A list of metrics got by evaluating the objective functions using suggested Parameter values.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MeasurementMetric" + } + } + } + }, + "GoogleCloudAiplatformV1MeasurementMetric": { + "id": "GoogleCloudAiplatformV1MeasurementMetric", + "description": "A message representing a metric in the measurement.", + "type": "object", + "properties": { + "metricId": { + "description": "Output only. The ID of the Metric. The Metric should be defined in StudySpec's Metrics.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. The value for this metric.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse": { + "id": "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse", + "description": "Response message for JobService.ListHyperparameterTuningJobs", + "type": "object", + "properties": { + "hyperparameterTuningJobs": { + "description": "List of HyperparameterTuningJobs in the requested page. HyperparameterTuningJob.trials of the jobs will be not be returned.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListHyperparameterTuningJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest": { + "id": "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest", + "description": "Request message for JobService.CancelHyperparameterTuningJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1NasJob": { + "id": "GoogleCloudAiplatformV1NasJob", + "description": "Represents a Neural Architecture Search (NAS) job.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the NasJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the NasJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "nasJobSpec": { + "description": "Required. The specification of a NasJob.", + "$ref": "GoogleCloudAiplatformV1NasJobSpec" + }, + "nasJobOutput": { + "description": "Output only. Output of the NasJob.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NasJobOutput" + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "createTime": { + "description": "Output only. Time when the NasJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the NasJob for the first time entered the `JOB_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the NasJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the NasJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "error": { + "description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options for a NasJob. If this is set, then all resources created by the NasJob will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "enableRestrictedImageTraining": { + "description": "Optional. Enable a separation of Custom model training and restricted image training for tenant project.", + "deprecated": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1NasJobSpec": { + "id": "GoogleCloudAiplatformV1NasJobSpec", + "description": "Represents the spec of a NasJob.", + "type": "object", + "properties": { + "multiTrialAlgorithmSpec": { + "description": "The spec of multi-trial algorithms.", + "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec" + }, + "resumeNasJobId": { + "description": "The ID of the existing NasJob in the same Project and Location which will be used to resume search. search_space_spec and nas_algorithm_spec are obtained from previous NasJob hence should not provide them again for this NasJob.", + "type": "string" + }, + "searchSpaceSpec": { + "description": "It defines the search space for Neural Architecture Search (NAS).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec": { + "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec", + "description": "The spec of multi-trial Neural Architecture Search (NAS).", + "type": "object", + "properties": { + "multiTrialAlgorithm": { + "description": "The multi-trial Neural Architecture Search (NAS) algorithm type. Defaults to `REINFORCEMENT_LEARNING`.", + "type": "string", + "enumDescriptions": [ + "Defaults to `REINFORCEMENT_LEARNING`.", + "The Reinforcement Learning Algorithm for Multi-trial Neural Architecture Search (NAS).", + "The Grid Search Algorithm for Multi-trial Neural Architecture Search (NAS)." + ], + "enum": [ + "MULTI_TRIAL_ALGORITHM_UNSPECIFIED", + "REINFORCEMENT_LEARNING", + "GRID_SEARCH" + ] + }, + "metric": { + "description": "Metric specs for the NAS job. Validation for this field is done at `multi_trial_algorithm_spec` field.", + "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec" + }, + "searchTrialSpec": { + "description": "Required. Spec for search trials.", + "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec" + }, + "trainTrialSpec": { + "description": "Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched.", + "$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec" + } + } + }, + "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec": { + "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", + "description": "Represents a metric to optimize.", + "type": "object", + "properties": { + "metricId": { + "description": "Required. The ID of the metric. Must not contain whitespaces.", + "type": "string" + }, + "goal": { + "description": "Required. The optimization goal of the metric.", + "type": "string", + "enumDescriptions": [ + "Goal Type will default to maximize.", + "Maximize the goal metric.", + "Minimize the goal metric." + ], + "enum": [ + "GOAL_TYPE_UNSPECIFIED", + "MAXIMIZE", + "MINIMIZE" + ] + } + } + }, + "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec": { + "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", + "description": "Represent spec for search trials.", + "type": "object", + "properties": { + "searchTrialJobSpec": { + "description": "Required. The spec of a search trial job. The same spec applies to all search trials.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "maxTrialCount": { + "description": "Required. The maximum number of Neural Architecture Search (NAS) trials to run.", + "type": "integer", + "format": "int32" + }, + "maxParallelTrialCount": { + "description": "Required. The maximum number of trials to run in parallel.", + "type": "integer", + "format": "int32" + }, + "maxFailedTrialCount": { + "description": "The number of failed trials that need to be seen before failing the NasJob. If set to 0, Vertex AI decides how many trials must fail before the whole job fails.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec": { + "id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", + "description": "Represent spec for train trials.", + "type": "object", + "properties": { + "trainTrialJobSpec": { + "description": "Required. The spec of a train trial job. The same spec applies to all train trials.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "maxParallelTrialCount": { + "description": "Required. The maximum number of trials to run in parallel.", + "type": "integer", + "format": "int32" + }, + "frequency": { + "description": "Required. Frequency of search trials to start train stage. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1NasJobOutput": { + "id": "GoogleCloudAiplatformV1NasJobOutput", + "description": "Represents a uCAIP NasJob output.", + "type": "object", + "properties": { + "multiTrialJobOutput": { + "description": "Output only. The output of this multi-trial Neural Architecture Search (NAS) job.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput" + } + } + }, + "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput": { + "id": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput", + "description": "The output of a multi-trial Neural Architecture Search (NAS) jobs.", + "type": "object", + "properties": { + "searchTrials": { + "description": "Output only. List of NasTrials that were started as part of search stage.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NasTrial" + } + }, + "trainTrials": { + "description": "Output only. List of NasTrials that were started as part of train stage.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NasTrial" + } + } + } + }, + "GoogleCloudAiplatformV1NasTrial": { + "id": "GoogleCloudAiplatformV1NasTrial", + "description": "Represents a uCAIP NasJob trial.", + "type": "object", + "properties": { + "id": { + "description": "Output only. The identifier of the NasTrial assigned by the service.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The detailed state of the NasTrial.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The NasTrial state is unspecified.", + "Indicates that a specific NasTrial has been requested, but it has not yet been suggested by the service.", + "Indicates that the NasTrial has been suggested.", + "Indicates that the NasTrial should stop according to the service.", + "Indicates that the NasTrial is completed successfully.", + "Indicates that the NasTrial should not be attempted again. The service will set a NasTrial to INFEASIBLE when it's done but missing the final_measurement." + ], + "enum": [ + "STATE_UNSPECIFIED", + "REQUESTED", + "ACTIVE", + "STOPPING", + "SUCCEEDED", + "INFEASIBLE" + ] + }, + "finalMeasurement": { + "description": "Output only. The final measurement containing the objective value.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Measurement" + }, + "startTime": { + "description": "Output only. Time when the NasTrial was started.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the NasTrial's status changed to `SUCCEEDED` or `INFEASIBLE`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1ListNasJobsResponse": { + "id": "GoogleCloudAiplatformV1ListNasJobsResponse", + "description": "Response message for JobService.ListNasJobs", + "type": "object", + "properties": { + "nasJobs": { + "description": "List of NasJobs in the requested page. NasJob.nas_job_output of the jobs will not be returned.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NasJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListNasJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelNasJobRequest": { + "id": "GoogleCloudAiplatformV1CancelNasJobRequest", + "description": "Request message for JobService.CancelNasJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1NasTrialDetail": { + "id": "GoogleCloudAiplatformV1NasTrialDetail", + "description": "Represents a NasTrial details along with its parameters. If there is a corresponding train NasTrial, the train NasTrial is also returned.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the NasTrialDetail.", + "readOnly": true, + "type": "string" + }, + "parameters": { + "description": "The parameters for the NasJob NasTrial.", + "type": "string" + }, + "searchTrial": { + "description": "The requested search NasTrial.", + "$ref": "GoogleCloudAiplatformV1NasTrial" + }, + "trainTrial": { + "description": "The train NasTrial corresponding to search_trial. Only populated if search_trial is used for training.", + "$ref": "GoogleCloudAiplatformV1NasTrial" + } + } + }, + "GoogleCloudAiplatformV1ListNasTrialDetailsResponse": { + "id": "GoogleCloudAiplatformV1ListNasTrialDetailsResponse", + "description": "Response message for JobService.ListNasTrialDetails", + "type": "object", + "properties": { + "nasTrialDetails": { + "description": "List of top NasTrials in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NasTrialDetail" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListNasTrialDetailsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchPredictionJob": { + "id": "GoogleCloudAiplatformV1BatchPredictionJob", + "description": "A job that uses a Model to produce predictions on multiple input instances. If predictions for significant portion of the instances fail, the job may finish without attempting predictions for all remaining instances.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the BatchPredictionJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of this BatchPredictionJob.", + "type": "string" + }, + "model": { + "description": "The name of the Model resource that produces the predictions via this job, must share the same ancestor Location. Starting this job has no impact on any existing deployments of the Model and their resources. Exactly one of model and unmanaged_container_model must be set. The model resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed. The model resource could also be a publisher model. Example: `publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "type": "string" + }, + "modelVersionId": { + "description": "Output only. The version ID of the Model that produces the predictions via this job.", + "readOnly": true, + "type": "string" + }, + "unmanagedContainerModel": { + "description": "Contains model information necessary to perform batch prediction without requiring uploading to model registry. Exactly one of model and unmanaged_container_model must be set.", + "$ref": "GoogleCloudAiplatformV1UnmanagedContainerModel" + }, + "inputConfig": { + "description": "Required. Input configuration of the instances on which predictions are performed. The schema of any single instance may be specified via the Model's PredictSchemata's instance_schema_uri.", + "$ref": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig" + }, + "instanceConfig": { + "description": "Configuration for how to convert batch prediction input instances to the prediction instances that are sent to the Model.", + "$ref": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig" + }, + "modelParameters": { + "description": "The parameters that govern the predictions. The schema of the parameters may be specified via the Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + }, + "outputConfig": { + "description": "Required. The Configuration specifying where output predictions should be written. The schema of any single prediction may be specified as a concatenation of Model's PredictSchemata's instance_schema_uri and prediction_schema_uri.", + "$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig" + }, + "dedicatedResources": { + "description": "The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided.", + "$ref": "GoogleCloudAiplatformV1BatchDedicatedResources" + }, + "serviceAccount": { + "description": "The service account that the DeployedModel's container runs as. If not specified, a system generated one will be used, which has minimal permissions and the custom container, if used, may not have enough permission to access other Google Cloud resources. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, + "manualBatchTuningParameters": { + "description": "Immutable. Parameters configuring the batch behavior. Currently only applicable when dedicated_resources are used (in other cases Vertex AI does the tuning itself).", + "$ref": "GoogleCloudAiplatformV1ManualBatchTuningParameters" + }, + "generateExplanation": { + "description": "Generate explanation with the batch prediction results. When set to `true`, the batch prediction output changes based on the `predictions_format` field of the BatchPredictionJob.output_config object: * `bigquery`: output includes a column named `explanation`. The value is a struct that conforms to the Explanation object. * `jsonl`: The JSON objects on each line include an additional entry keyed `explanation`. The value of the entry is a JSON object that conforms to the Explanation object. * `csv`: Generating explanations for CSV format is not supported. If this field is set to true, either the Model.explanation_spec or explanation_spec must be populated.", + "type": "boolean" + }, + "explanationSpec": { + "description": "Explanation configuration for this BatchPredictionJob. Can be specified only if generate_explanation is set to `true`. This value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of the explanation_spec object is not populated, the corresponding field of the Model.explanation_spec object is inherited.", + "$ref": "GoogleCloudAiplatformV1ExplanationSpec" + }, + "outputInfo": { + "description": "Output only. Information further describing the output of this job.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo" + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "error": { + "description": "Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "partialFailures": { + "description": "Output only. Partial failures encountered. For example, single files that can't be read. This field never exceeds 20 entries. Status details fields contain standard Google Cloud error details.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleRpcStatus" + } + }, + "resourcesConsumed": { + "description": "Output only. Information about resources that had been consumed by this job. Provided in real time at best effort basis, as well as a final value once the job completes. Note: This field currently may be not populated for batch predictions that use AutoML Models.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ResourcesConsumed" + }, + "completionStats": { + "description": "Output only. Statistics on completed and failed prediction instances.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CompletionStats" + }, + "createTime": { + "description": "Output only. Time when the BatchPredictionJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the BatchPredictionJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the BatchPredictionJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options for a BatchPredictionJob. If this is set, then all resources created by the BatchPredictionJob will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "disableContainerLogging": { + "description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1UnmanagedContainerModel": { + "id": "GoogleCloudAiplatformV1UnmanagedContainerModel", + "description": "Contains model information necessary to perform batch prediction without requiring a full model import.", + "type": "object", + "properties": { + "artifactUri": { + "description": "The path to the directory containing the Model artifact and any of its supporting files.", + "type": "string" + }, + "predictSchemata": { + "description": "Contains the schemata used in Model's predictions and explanations", + "$ref": "GoogleCloudAiplatformV1PredictSchemata" + }, + "containerSpec": { + "description": "Input only. The specification of the container that is to be used when deploying this Model.", + "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" + } + } + }, + "GoogleCloudAiplatformV1PredictSchemata": { + "id": "GoogleCloudAiplatformV1PredictSchemata", + "description": "Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob.", + "type": "object", + "properties": { + "instanceSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "parametersSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no parameters are supported, then it is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "predictionSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ModelContainerSpec": { + "id": "GoogleCloudAiplatformV1ModelContainerSpec", + "description": "Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", + "type": "object", + "properties": { + "imageUri": { + "description": "Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field.", + "type": "string" + }, + "command": { + "description": "Immutable. Specifies the command that runs when the container starts. This overrides the container's [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). Specify this field as an array of executable and arguments, similar to a Docker `ENTRYPOINT`'s \"exec\" form, not its \"shell\" form. If you do not specify this field, then the container's `ENTRYPOINT` runs, in conjunction with the args field or the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if either exists. If this field is not specified and the container does not have an `ENTRYPOINT`, then refer to the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). If you specify this field, then you can also specify the `args` field to provide additional arguments for this command. However, if you specify this field, then the container's `CMD` is ignored. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `command` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Immutable. Specifies arguments for the command that runs when the container starts. This overrides the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify this field as an array of executable and arguments, similar to a Docker `CMD`'s \"default parameters\" form. If you don't specify this field but do specify the command field, then the command from the `command` field runs without any additional arguments. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). If you don't specify this field and don't specify the `command` field, then the container's [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and `CMD` determine what runs based on their default behavior. See the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `args` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Immutable. List of environment variables to set in the container. After the container starts running, code running in the container can read these environment variables. Additionally, the command and args fields can reference these variables. Later entries in this list can also reference earlier entries. For example, the following example sets the variable `VAR_2` to have the value `foo bar`: ```json [ { \"name\": \"VAR_1\", \"value\": \"foo\" }, { \"name\": \"VAR_2\", \"value\": \"$(VAR_1) bar\" } ] ``` If you switch the order of the variables in the example, then the expansion does not occur. This field corresponds to the `env` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + } + }, + "ports": { + "description": "Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { \"containerPort\": 8080 } ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Port" + } + }, + "predictRoute": { + "description": "Immutable. HTTP path on the container to send prediction requests to. Vertex AI forwards requests sent using projects.locations.endpoints.predict to this path on the container's IP address and port. Vertex AI then returns the container's response in the API response. For example, if you set this field to `/foo`, then when Vertex AI receives a prediction request, it forwards the request body in a POST request to the `/foo` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", + "type": "string" + }, + "healthRoute": { + "description": "Immutable. HTTP path on the container to send health checks to. Vertex AI intermittently sends GET requests to this path on the container's IP address and port to check that the container is healthy. Read more about [health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). For example, if you set this field to `/bar`, then Vertex AI intermittently sends a GET request to the `/bar` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/ DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", + "type": "string" + }, + "invokeRoutePrefix": { + "description": "Immutable. Invoke route prefix for the custom container. \"/*\" is the only supported value right now. By setting this field, any non-root route on this model will be accessible with invoke http call eg: \"/invoke/foo/bar\", however the [PredictionService.Invoke] RPC is not supported yet. Only one of `predict_route` or `invoke_route_prefix` can be set, and we default to using `predict_route` if this field is not set. If this field is set, the Model can only be deployed to dedicated endpoint.", + "type": "string" + }, + "grpcPorts": { + "description": "Immutable. List of ports to expose from the container. Vertex AI sends gRPC prediction requests that it receives to the first port on this list. Vertex AI also sends liveness and health checks to this port. If you do not specify this field, gRPC requests to the container will be disabled. Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers v1 core API.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Port" + } + }, + "deploymentTimeout": { + "description": "Immutable. Deployment timeout. Limit for deployment timeout is 2 hours.", + "type": "string", + "format": "google-duration" + }, + "sharedMemorySizeMb": { + "description": "Immutable. The amount of the VM memory to reserve as the shared memory for the model in megabytes.", + "type": "string", + "format": "int64" + }, + "startupProbe": { + "description": "Immutable. Specification for Kubernetes startup probe.", + "$ref": "GoogleCloudAiplatformV1Probe" + }, + "healthProbe": { + "description": "Immutable. Specification for Kubernetes readiness probe.", + "$ref": "GoogleCloudAiplatformV1Probe" + }, + "livenessProbe": { + "description": "Immutable. Specification for Kubernetes liveness probe.", + "$ref": "GoogleCloudAiplatformV1Probe" + } + } + }, + "GoogleCloudAiplatformV1Port": { + "id": "GoogleCloudAiplatformV1Port", + "description": "Represents a network port in a container.", + "type": "object", + "properties": { + "containerPort": { + "description": "The number of the port to expose on the pod's IP address. Must be a valid port number, between 1 and 65535 inclusive.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1Probe": { + "id": "GoogleCloudAiplatformV1Probe", + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "type": "object", + "properties": { + "exec": { + "description": "ExecAction probes the health of a container by executing a command.", + "$ref": "GoogleCloudAiplatformV1ProbeExecAction" + }, + "httpGet": { + "description": "HttpGetAction probes the health of a container by sending an HTTP GET request.", + "$ref": "GoogleCloudAiplatformV1ProbeHttpGetAction" + }, + "grpc": { + "description": "GrpcAction probes the health of a container by sending a gRPC request.", + "$ref": "GoogleCloudAiplatformV1ProbeGrpcAction" + }, + "tcpSocket": { + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", + "$ref": "GoogleCloudAiplatformV1ProbeTcpSocketAction" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", + "type": "integer", + "format": "int32" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.", + "type": "integer", + "format": "int32" + }, + "failureThreshold": { + "description": "Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.", + "type": "integer", + "format": "int32" + }, + "initialDelaySeconds": { + "description": "Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ProbeExecAction": { + "id": "GoogleCloudAiplatformV1ProbeExecAction", + "description": "ExecAction specifies a command to execute.", + "type": "object", + "properties": { + "command": { + "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ProbeHttpGetAction": { + "id": "GoogleCloudAiplatformV1ProbeHttpGetAction", + "description": "HttpGetAction describes an action based on HTTP Get requests.", + "type": "object", + "properties": { + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "type": "integer", + "format": "int32" + }, + "host": { + "description": "Host name to connect to, defaults to the model serving container's IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ProbeHttpHeader" + } + } + } + }, + "GoogleCloudAiplatformV1ProbeHttpHeader": { + "id": "GoogleCloudAiplatformV1ProbeHttpHeader", + "description": "HttpHeader describes a custom header to be used in HTTP probes", + "type": "object", + "properties": { + "name": { + "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ProbeGrpcAction": { + "id": "GoogleCloudAiplatformV1ProbeGrpcAction", + "description": "GrpcAction checks the health of a container using a gRPC service.", + "type": "object", + "properties": { + "port": { + "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", + "type": "integer", + "format": "int32" + }, + "service": { + "description": "Service is the name of the service to place in the gRPC HealthCheckRequest. See https://github.com/grpc/grpc/blob/master/doc/health-checking.md. If this is not specified, the default behavior is defined by gRPC.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ProbeTcpSocketAction": { + "id": "GoogleCloudAiplatformV1ProbeTcpSocketAction", + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", + "type": "object", + "properties": { + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "type": "integer", + "format": "int32" + }, + "host": { + "description": "Optional: Host name to connect to, defaults to the model serving container's IP.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchPredictionJobInputConfig": { + "id": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig", + "description": "Configures the input to BatchPredictionJob. See Model.supported_input_storage_formats for Model's supported input formats, and how instances should be expressed via any of them.", + "type": "object", + "properties": { + "gcsSource": { + "description": "The Cloud Storage location for the input instances.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "bigquerySource": { + "description": "The BigQuery location of the input table. The schema of the table should be in the format described by the given context OpenAPI Schema, if one is provided. The table may contain additional columns that are not described by the schema, and they will be ignored.", + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + }, + "instancesFormat": { + "description": "Required. The format in which instances are given, must be one of the Model's supported_input_storage_formats.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig": { + "id": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig", + "description": "Configuration defining how to transform batch prediction input instances to the instances that the Model accepts.", + "type": "object", + "properties": { + "instanceType": { + "description": "The format of the instance that the Model accepts. Vertex AI will convert compatible batch prediction input instance formats to the specified format. Supported values are: * `object`: Each input is converted to JSON object format. * For `bigquery`, each row is converted to an object. * For `jsonl`, each line of the JSONL input must be an object. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. * `array`: Each input is converted to JSON array format. * For `bigquery`, each row is converted to an array. The order of columns is determined by the BigQuery column order, unless included_fields is populated. included_fields must be populated for specifying field orders. * For `jsonl`, if each line of the JSONL input is an object, included_fields must be populated for specifying field orders. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. If not specified, Vertex AI converts the batch prediction input as follows: * For `bigquery` and `csv`, the behavior is the same as `array`. The order of columns is the same as defined in the file or table, unless included_fields is populated. * For `jsonl`, the prediction instance format is determined by each line of the input. * For `tf-record`/`tf-record-gzip`, each record will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the record. * For `file-list`, each file in the list will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the file.", + "type": "string" + }, + "keyField": { + "description": "The name of the field that is considered as a key. The values identified by the key field is not included in the transformed instances that is sent to the Model. This is similar to specifying this name of the field in excluded_fields. In addition, the batch prediction output will not include the instances. Instead the output will only include the value of the key field, in a field named `key` in the output: * For `jsonl` output format, the output will have a `key` field instead of the `instance` field. * For `csv`/`bigquery` output format, the output will have have a `key` column instead of the instance feature columns. The input must be JSONL with objects at each line, CSV, BigQuery or TfRecord.", + "type": "string" + }, + "includedFields": { + "description": "Fields that will be included in the prediction instance that is sent to the Model. If instance_type is `array`, the order of field names in included_fields also determines the order of the values in the array. When included_fields is populated, excluded_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", + "type": "array", + "items": { + "type": "string" + } + }, + "excludedFields": { + "description": "Fields that will be excluded in the prediction instance that is sent to the Model. Excluded will be attached to the batch prediction output if key_field is not specified. When excluded_fields is populated, included_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig": { + "id": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig", + "description": "Configures the output of BatchPredictionJob. See Model.supported_output_storage_formats for supported output formats, and how predictions are expressed via any of them.", + "type": "object", + "properties": { + "gcsDestination": { + "description": "The Cloud Storage location of the directory where the output is to be written to. In the given directory a new directory is created. Its name is `prediction--`, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are created where `` depends on chosen predictions_format, and N may equal 0001 and depends on the total number of successfully predicted instances. If the Model has both instance and prediction schemata defined then each such file contains predictions as per the predictions_format. If prediction for any instance failed (partially or completely), then an additional `errors_0001.`, `errors_0002.`,..., `errors_N.` files are created (N depends on total number of failed predictions). These files contain the failed instances, as per their schema, followed by an additional `error` field which as value has google.rpc.Status containing only `code` and `message` fields.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "bigqueryDestination": { + "description": "The BigQuery project or dataset location where the output is to be written to. If project is provided, a new dataset is created with name `prediction__` where is made BigQuery-dataset-name compatible (for example, most special characters become underscores), and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ \"based on ISO-8601\" format. In the dataset two tables will be created, `predictions`, and `errors`. If the Model has both instance and prediction schemata defined then the tables have columns as follows: The `predictions` table contains instances for which the prediction succeeded, it has columns as per a concatenation of the Model's instance and prediction schemata. The `errors` table contains rows for which the prediction has failed, it has instance columns, as per the instance schema, followed by a single \"errors\" column, which as values has google.rpc.Status represented as a STRUCT, and containing only `code` and `message`.", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "predictionsFormat": { + "description": "Required. The format in which Vertex AI gives the predictions, must be one of the Model's supported_output_storage_formats.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchDedicatedResources": { + "id": "GoogleCloudAiplatformV1BatchDedicatedResources", + "description": "A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration.", + "type": "object", + "properties": { + "machineSpec": { + "description": "Required. Immutable. The specification of a single machine.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "startingReplicaCount": { + "description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", + "type": "integer", + "format": "int32" + }, + "maxReplicaCount": { + "description": "Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ManualBatchTuningParameters": { + "id": "GoogleCloudAiplatformV1ManualBatchTuningParameters", + "description": "Manual batch tuning parameters.", + "type": "object", + "properties": { + "batchSize": { + "description": "Immutable. The number of the records (e.g. instances) of the operation given in each batch to a machine replica. Machine type, and size of a single record should be considered when setting this parameter, higher value speeds up the batch operation's execution, but too high value will result in a whole batch not fitting in a machine's memory, and the whole operation will fail. The default value is 64.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo": { + "id": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo", + "description": "Further describes this job's output. Supplements output_config.", + "type": "object", + "properties": { + "gcsOutputDirectory": { + "description": "Output only. The full path of the Cloud Storage directory created, into which the prediction output is written.", + "readOnly": true, + "type": "string" + }, + "bigqueryOutputDataset": { + "description": "Output only. The path of the BigQuery dataset created, in `bq://projectId.bqDatasetId` format, into which the prediction output is written.", + "readOnly": true, + "type": "string" + }, + "bigqueryOutputTable": { + "description": "Output only. The name of the BigQuery table created, in `predictions_` format, into which the prediction output is written. Can be used by UI to generate the BigQuery output path, for example.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ResourcesConsumed": { + "id": "GoogleCloudAiplatformV1ResourcesConsumed", + "description": "Statistics information about resource consumption.", + "type": "object", + "properties": { + "replicaHours": { + "description": "Output only. The number of replica hours used. Note that many replicas may run in parallel, and additionally any given work may be queued for some time. Therefore this value is not strictly related to wall time.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1CompletionStats": { + "id": "GoogleCloudAiplatformV1CompletionStats", + "description": "Success and error statistics of processing multiple entities (for example, DataItems or structured data rows) in batch.", + "type": "object", + "properties": { + "successfulCount": { + "description": "Output only. The number of entities that had been processed successfully.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "failedCount": { + "description": "Output only. The number of entities for which any error was encountered.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "incompleteCount": { + "description": "Output only. In cases when enough errors are encountered a job, pipeline, or operation may be failed as a whole. Below is the number of entities for which the processing had not been finished (either in successful or failed state). Set to -1 if the number is unknown (for example, the operation failed before the total entity number could be collected).", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "successfulForecastPointCount": { + "description": "Output only. The number of the successful forecast points that are generated by the forecasting model. This is ONLY used by the forecasting batch prediction.", + "readOnly": true, + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse": { + "id": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse", + "description": "Response message for JobService.ListBatchPredictionJobs", + "type": "object", + "properties": { + "batchPredictionJobs": { + "description": "List of BatchPredictionJobs in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListBatchPredictionJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest": { + "id": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest", + "description": "Request message for JobService.CancelBatchPredictionJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob": { + "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob", + "description": "Represents a job that runs periodically to monitor the deployed models in an endpoint. It will analyze the logged training & prediction data to detect any abnormal behaviors.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob.", + "type": "string" + }, + "endpoint": { + "description": "Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "state": { + "description": "Output only. The detailed state of the monitoring job. When the job is still creating, the state will be 'PENDING'. Once the job is successfully created, the state will be 'RUNNING'. Pause the job, the state will be 'PAUSED'. Resume the job, the state will return to 'RUNNING'.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "scheduleState": { + "description": "Output only. Schedule state when the monitoring job is in Running state.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified state.", + "The pipeline is picked up and wait to run.", + "The pipeline is offline and will be scheduled for next run.", + "The pipeline is running." + ], + "enum": [ + "MONITORING_SCHEDULE_STATE_UNSPECIFIED", + "PENDING", + "OFFLINE", + "RUNNING" + ] + }, + "latestMonitoringPipelineMetadata": { + "description": "Output only. Latest triggered monitoring pipeline metadata.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata" + }, + "modelDeploymentMonitoringObjectiveConfigs": { + "description": "Required. The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig" + } + }, + "modelDeploymentMonitoringScheduleConfig": { + "description": "Required. Schedule config for running the monitoring job.", + "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig" + }, + "loggingSamplingStrategy": { + "description": "Required. Sample Strategy for logging.", + "$ref": "GoogleCloudAiplatformV1SamplingStrategy" + }, + "modelMonitoringAlertConfig": { + "description": "Alert config for model monitoring.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig" + }, + "predictInstanceSchemaUri": { + "description": "YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests.", + "type": "string" + }, + "samplePredictInstance": { + "description": "Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests.", + "type": "any" + }, + "analysisInstanceSchemaUri": { + "description": "YAML schema file uri describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. If this field is empty, all the feature data types are inferred from predict_instance_schema_uri, meaning that TFDV will use the data in the exact format(data type) as prediction request/response. If there are any data type differences between predict instance and TFDV instance, this field can be used to override the schema. For models trained with Vertex AI, this field must be set as all the fields in predict instance formatted as string.", + "type": "string" + }, + "bigqueryTables": { + "description": "Output only. The created bigquery tables for the job under customer project. Customer could do their own query & analysis. There could be 4 log tables in maximum: 1. Training data logging predict request/response 2. Serving data logging predict request/response", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable" + } + }, + "logTtl": { + "description": "The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day.", + "type": "string", + "format": "google-duration" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "nextScheduleTime": { + "description": "Output only. Timestamp when this monitoring pipeline will be scheduled to run for the next round.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "statsAnomaliesBaseDirectory": { + "description": "Stats anomalies base folder path.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob and all sub-resources of this ModelDeploymentMonitoringJob will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "enableMonitoringPipelineLogs": { + "description": "If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing).", + "type": "boolean" + }, + "error": { + "description": "Output only. Only populated when the job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata": { + "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", + "description": "All metadata of most recent monitoring pipelines.", + "type": "object", + "properties": { + "runTime": { + "description": "The time that most recent monitoring pipelines that is related to this run.", + "type": "string", + "format": "google-datetime" + }, + "status": { + "description": "The status of the most recent monitoring pipeline.", + "$ref": "GoogleRpcStatus" + } + } + }, + "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig": { + "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig", + "description": "ModelDeploymentMonitoringObjectiveConfig contains the pair of deployed_model_id to ModelMonitoringObjectiveConfig.", + "type": "object", + "properties": { + "deployedModelId": { + "description": "The DeployedModel ID of the objective config.", + "type": "string" + }, + "objectiveConfig": { + "description": "The objective config of for the modelmonitoring job of this deployed model.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig", + "description": "The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model.", + "type": "object", + "properties": { + "trainingDataset": { + "description": "Training dataset for models. This field has to be set only if TrainingPredictionSkewDetectionConfig is specified.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset" + }, + "trainingPredictionSkewDetectionConfig": { + "description": "The config for skew between training data and prediction data.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig" + }, + "predictionDriftDetectionConfig": { + "description": "The config for drift of prediction data.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig" + }, + "explanationConfig": { + "description": "The config for integrating with Vertex Explainable AI.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset", + "description": "Training Dataset information.", + "type": "object", + "properties": { + "dataset": { + "description": "The resource name of the Dataset used to train this Model.", + "type": "string" + }, + "gcsSource": { + "description": "The Google Cloud Storage uri of the unmanaged Dataset used to train this Model.", + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "bigquerySource": { + "description": "The BigQuery table of the unmanaged Dataset used to train this Model.", + "$ref": "GoogleCloudAiplatformV1BigQuerySource" + }, + "dataFormat": { + "description": "Data format of the dataset, only applicable if the input is from Google Cloud Storage. The possible formats are: \"tf-record\" The source file is a TFRecord file. \"csv\" The source file is a CSV file. \"jsonl\" The source file is a JSONL file.", + "type": "string" + }, + "targetField": { + "description": "The target field name the model is to predict. This field will be excluded when doing Predict and (or) Explain for the training data.", + "type": "string" + }, + "loggingSamplingStrategy": { + "description": "Strategy to sample data from Training Dataset. If not set, we process the whole dataset.", + "$ref": "GoogleCloudAiplatformV1SamplingStrategy" + } + } + }, + "GoogleCloudAiplatformV1SamplingStrategy": { + "id": "GoogleCloudAiplatformV1SamplingStrategy", + "description": "Sampling Strategy for logging, can be for both training and prediction dataset.", + "type": "object", + "properties": { + "randomSampleConfig": { + "description": "Random sample config. Will support more sampling strategies later.", + "$ref": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig" + } + } + }, + "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig": { + "id": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig", + "description": "Requests are randomly selected.", + "type": "object", + "properties": { + "sampleRate": { + "description": "Sample rate (0, 1]", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", + "description": "The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters.", + "type": "object", + "properties": { + "skewThresholds": { + "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + }, + "attributionScoreSkewThresholds": { + "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + }, + "defaultSkewThreshold": { + "description": "Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features.", + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + } + }, + "GoogleCloudAiplatformV1ThresholdConfig": { + "id": "GoogleCloudAiplatformV1ThresholdConfig", + "description": "The config for feature monitoring threshold.", + "type": "object", + "properties": { + "value": { + "description": "Specify a threshold value that can trigger the alert. If this threshold config is for feature distribution distance: 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", + "description": "The config for Prediction data drift detection.", + "type": "object", + "properties": { + "driftThresholds": { + "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + }, + "attributionScoreDriftThresholds": { + "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + }, + "defaultDriftThreshold": { + "description": "Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features.", + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig", + "description": "The config for integrating with Vertex Explainable AI. Only applicable if the Model has explanation_spec populated.", + "type": "object", + "properties": { + "enableFeatureAttributes": { + "description": "If want to analyze the Vertex Explainable AI feature attribute scores or not. If set to true, Vertex AI will log the feature attributions from explain response and do the skew/drift detection for them.", + "type": "boolean" + }, + "explanationBaseline": { + "description": "Predictions generated by the BatchPredictionJob using baseline dataset.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline": { + "id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", + "description": "Output from BatchPredictionJob for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores.", + "type": "object", + "properties": { + "gcs": { + "description": "Cloud Storage location for BatchExplain output.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "bigquery": { + "description": "BigQuery location for BatchExplain output.", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "predictionFormat": { + "description": "The storage format of the predictions generated BatchPrediction job.", + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "Predictions are in JSONL files.", + "Predictions are in BigQuery." + ], + "enum": [ + "PREDICTION_FORMAT_UNSPECIFIED", + "JSONL", + "BIGQUERY" + ] + } + } + }, + "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig": { + "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig", + "description": "The config for scheduling monitoring job.", + "type": "object", + "properties": { + "monitorInterval": { + "description": "Required. The model monitoring job scheduling interval. It will be rounded up to next full hour. This defines how often the monitoring jobs are triggered.", + "type": "string", + "format": "google-duration" + }, + "monitorWindow": { + "description": "The time window of the prediction data being included in each prediction dataset. This window specifies how long the data should be collected from historical model results for each run. If not set, ModelDeploymentMonitoringScheduleConfig.monitor_interval will be used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and the monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 to 2022-01-08 14:30:00 will be retrieved and aggregated to calculate the monitoring statistics.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringAlertConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig", + "description": "The alert config for model monitoring.", + "type": "object", + "properties": { + "emailAlertConfig": { + "description": "Email alert config.", + "$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig" + }, + "enableLogging": { + "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging.", + "type": "boolean" + }, + "notificationChannels": { + "description": "Resource names of the NotificationChannels to send alert. Must be of the format `projects//notificationChannels/`", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig": { + "id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig", + "description": "The config for email alert.", + "type": "object", + "properties": { + "userEmails": { + "description": "The email addresses to send the alert.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable": { + "id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable", + "description": "ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name as well as some information of the logs stored in this table.", + "type": "object", + "properties": { + "logSource": { + "description": "The source of log.", + "type": "string", + "enumDescriptions": [ + "Unspecified source.", + "Logs coming from Training dataset.", + "Logs coming from Serving traffic." + ], + "enum": [ + "LOG_SOURCE_UNSPECIFIED", + "TRAINING", + "SERVING" + ] + }, + "logType": { + "description": "The type of log.", + "type": "string", + "enumDescriptions": [ + "Unspecified type.", + "Predict logs.", + "Explain logs." + ], + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "PREDICT", + "EXPLAIN" + ] + }, + "bigqueryTablePath": { + "description": "The created BigQuery table to store logs. Customer could do their own query & analysis. Format: `bq://.model_deployment_monitoring_._`", + "type": "string" + }, + "requestResponseLoggingSchemaVersion": { + "description": "Output only. The schema version of the request/response logging BigQuery table. Default to v1 if unset.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest": { + "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest", + "description": "Request message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", + "type": "object", + "properties": { + "deployedModelId": { + "description": "Required. The DeployedModel ID of the [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].", + "type": "string" + }, + "featureDisplayName": { + "description": "The feature display name. If specified, only return the stats belonging to this feature. Format: ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name, example: \"user_destination\".", + "type": "string" + }, + "objectives": { + "description": "Required. Objectives of the stats to retrieve.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective" + } + }, + "pageSize": { + "description": "The standard list page size.", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "A page token received from a previous JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", + "type": "string" + }, + "startTime": { + "description": "The earliest timestamp of stats being generated. If not set, indicates fetching stats till the earliest possible one.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "The latest timestamp of stats being generated. If not set, indicates feching stats till the latest possible one.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective": { + "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective", + "description": "Stats requested for specific objective.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enumDescriptions": [ + "Default value, should not be set.", + "Raw feature values' stats to detect skew between Training-Prediction datasets.", + "Raw feature values' stats to detect drift between Serving-Prediction datasets.", + "Feature attribution scores to detect skew between Training-Prediction datasets.", + "Feature attribution scores to detect skew between Prediction datasets collected within different time windows." + ], + "enum": [ + "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", + "RAW_FEATURE_SKEW", + "RAW_FEATURE_DRIFT", + "FEATURE_ATTRIBUTION_SKEW", + "FEATURE_ATTRIBUTION_DRIFT" + ] + }, + "topFeatureCount": { + "description": "If set, all attribution scores between SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are fetched, and page token doesn't take effect in this case. Only used to retrieve attribution score for the top Features which has the highest attribution score in the latest monitoring run.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse": { + "id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse", + "description": "Response message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", + "type": "object", + "properties": { + "monitoringStats": { + "description": "Stats retrieved for requested objectives. There are at most 1000 ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats in the response.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies" + } + }, + "nextPageToken": { + "description": "The page token that can be used by the next JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies": { + "id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies", + "description": "Statistics and anomalies generated by Model Monitoring.", + "type": "object", + "properties": { + "objective": { + "description": "Model Monitoring Objective those stats and anomalies belonging to.", + "type": "string", + "enumDescriptions": [ + "Default value, should not be set.", + "Raw feature values' stats to detect skew between Training-Prediction datasets.", + "Raw feature values' stats to detect drift between Serving-Prediction datasets.", + "Feature attribution scores to detect skew between Training-Prediction datasets.", + "Feature attribution scores to detect skew between Prediction datasets collected within different time windows." + ], + "enum": [ + "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", + "RAW_FEATURE_SKEW", + "RAW_FEATURE_DRIFT", + "FEATURE_ATTRIBUTION_SKEW", + "FEATURE_ATTRIBUTION_DRIFT" + ] + }, + "deployedModelId": { + "description": "Deployed Model ID.", + "type": "string" + }, + "anomalyCount": { + "description": "Number of anomalies within all stats.", + "type": "integer", + "format": "int32" + }, + "featureStats": { + "description": "A list of historical Stats and Anomalies generated for all Features.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies" + } + } + } + }, + "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies": { + "id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies", + "description": "Historical Stats (and Anomalies) for a specific Feature.", + "type": "object", + "properties": { + "featureDisplayName": { + "description": "Display Name of the Feature.", + "type": "string" + }, + "threshold": { + "description": "Threshold for anomaly detection.", + "$ref": "GoogleCloudAiplatformV1ThresholdConfig" + }, + "trainingStats": { + "description": "Stats calculated for the Training Dataset.", + "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" + }, + "predictionStats": { + "description": "A list of historical stats generated by different time window's Prediction Dataset.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" + } + } + } + }, + "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse": { + "id": "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse", + "description": "Response message for JobService.ListModelDeploymentMonitoringJobs.", + "type": "object", + "properties": { + "modelDeploymentMonitoringJobs": { + "description": "A list of ModelDeploymentMonitoringJobs that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest": { + "id": "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest", + "description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest": { + "id": "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest", + "description": "Request message for JobService.ResumeModelDeploymentMonitoringJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1PredictRequest": { + "id": "GoogleCloudAiplatformV1PredictRequest", + "description": "Request message for PredictionService.Predict.", + "type": "object", + "properties": { + "instances": { + "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "type": "array", + "items": { + "type": "any" + } + }, + "parameters": { + "description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + }, + "labels": { + "description": "Optional. The user labels for Imagen billing usage only. Only Imagen supports labels. For other use cases, it will be ignored.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PredictResponse": { + "id": "GoogleCloudAiplatformV1PredictResponse", + "description": "Response message for PredictionService.Predict.", + "type": "object", + "properties": { + "predictions": { + "description": "The predictions that are the output of the predictions call. The schema of any single prediction may be specified via Endpoint's DeployedModels' Model's PredictSchemata's prediction_schema_uri.", + "type": "array", + "items": { + "type": "any" + } + }, + "deployedModelId": { + "description": "ID of the Endpoint's DeployedModel that served this prediction.", + "type": "string" + }, + "model": { + "description": "Output only. The resource name of the Model which is deployed as the DeployedModel that this prediction hits.", + "readOnly": true, + "type": "string" + }, + "modelVersionId": { + "description": "Output only. The version ID of the Model which is deployed as the DeployedModel that this prediction hits.", + "readOnly": true, + "type": "string" + }, + "modelDisplayName": { + "description": "Output only. The display name of the Model which is deployed as the DeployedModel that this prediction hits.", + "readOnly": true, + "type": "string" + }, + "metadata": { + "description": "Output only. Request-level metadata returned by the model. The metadata type will be dependent upon the model implementation.", + "readOnly": true, + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1RawPredictRequest": { + "id": "GoogleCloudAiplatformV1RawPredictRequest", + "description": "Request message for PredictionService.RawPredict.", + "type": "object", + "properties": { + "httpBody": { + "description": "The prediction input. Supports HTTP headers and arbitrary data payload. A DeployedModel may have an upper limit on the number of instances it supports per request. When this limit it is exceeded for an AutoML model, the RawPredict method returns an error. When this limit is exceeded for a custom-trained model, the behavior varies depending on the model. You can specify the schema for each instance in the predict_schemata.instance_schema_uri field when you create a Model. This schema applies when you deploy the `Model` as a `DeployedModel` to an Endpoint and use the `RawPredict` method.", + "$ref": "GoogleApiHttpBody" + } + } + }, + "GoogleApiHttpBody": { + "id": "GoogleApiHttpBody", + "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", + "type": "object", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "type": "string", + "format": "byte" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + } + }, + "GoogleCloudAiplatformV1StreamRawPredictRequest": { + "id": "GoogleCloudAiplatformV1StreamRawPredictRequest", + "description": "Request message for PredictionService.StreamRawPredict.", + "type": "object", + "properties": { + "httpBody": { + "description": "The prediction input. Supports HTTP headers and arbitrary data payload.", + "$ref": "GoogleApiHttpBody" + } + } + }, + "GoogleCloudAiplatformV1DirectPredictRequest": { + "id": "GoogleCloudAiplatformV1DirectPredictRequest", + "description": "Request message for PredictionService.DirectPredict.", + "type": "object", + "properties": { + "inputs": { + "description": "The prediction input.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "parameters": { + "description": "The parameters that govern the prediction.", + "$ref": "GoogleCloudAiplatformV1Tensor" + } + } + }, + "GoogleCloudAiplatformV1Tensor": { + "id": "GoogleCloudAiplatformV1Tensor", + "description": "A tensor value type.", + "type": "object", + "properties": { + "dtype": { + "description": "The data type of tensor.", + "type": "string", + "enumDescriptions": [ + "Not a legal value for DataType. Used to indicate a DataType field has not been set.", + "Data types that all computation devices are expected to be capable to support.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "BOOL", + "STRING", + "FLOAT", + "DOUBLE", + "INT8", + "INT16", + "INT32", + "INT64", + "UINT8", + "UINT16", + "UINT32", + "UINT64" + ] + }, + "shape": { + "description": "Shape of the tensor.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "boolVal": { + "description": "Type specific representations that make it easy to create tensor protos in all languages. Only the representation corresponding to \"dtype\" can be set. The values hold the flattened representation of the tensor in row major order. BOOL", + "type": "array", + "items": { + "type": "boolean" + } + }, + "stringVal": { + "description": "STRING", + "type": "array", + "items": { + "type": "string" + } + }, + "bytesVal": { + "description": "STRING", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "floatVal": { + "description": "FLOAT", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "doubleVal": { + "description": "DOUBLE", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "intVal": { + "description": "INT_8 INT_16 INT_32", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "int64Val": { + "description": "INT64", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "uintVal": { + "description": "UINT8 UINT16 UINT32", + "type": "array", + "items": { + "type": "integer", + "format": "uint32" + } + }, + "uint64Val": { + "description": "UINT64", + "type": "array", + "items": { + "type": "string", + "format": "uint64" + } + }, + "listVal": { + "description": "A list of tensor values.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "structVal": { + "description": "A map of string to tensor.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "tensorVal": { + "description": "Serialized raw tensor content.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1DirectPredictResponse": { + "id": "GoogleCloudAiplatformV1DirectPredictResponse", + "description": "Response message for PredictionService.DirectPredict.", + "type": "object", + "properties": { + "outputs": { + "description": "The prediction output.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "parameters": { + "description": "The parameters that govern the prediction.", + "$ref": "GoogleCloudAiplatformV1Tensor" + } + } + }, + "GoogleCloudAiplatformV1DirectRawPredictRequest": { + "id": "GoogleCloudAiplatformV1DirectRawPredictRequest", + "description": "Request message for PredictionService.DirectRawPredict.", + "type": "object", + "properties": { + "methodName": { + "description": "Fully qualified name of the API method being invoked to perform predictions. Format: `/namespace.Service/Method/` Example: `/tensorflow.serving.PredictionService/Predict`", + "type": "string" + }, + "input": { + "description": "The prediction input.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1DirectRawPredictResponse": { + "id": "GoogleCloudAiplatformV1DirectRawPredictResponse", + "description": "Response message for PredictionService.DirectRawPredict.", + "type": "object", + "properties": { + "output": { + "description": "The prediction output.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1StreamingPredictRequest": { + "id": "GoogleCloudAiplatformV1StreamingPredictRequest", + "description": "Request message for PredictionService.StreamingPredict. The first message must contain endpoint field and optionally input. The subsequent messages must contain input.", + "type": "object", + "properties": { + "inputs": { + "description": "The prediction input.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "parameters": { + "description": "The parameters that govern the prediction.", + "$ref": "GoogleCloudAiplatformV1Tensor" + } + } + }, + "GoogleCloudAiplatformV1StreamingPredictResponse": { + "id": "GoogleCloudAiplatformV1StreamingPredictResponse", + "description": "Response message for PredictionService.StreamingPredict.", + "type": "object", + "properties": { + "outputs": { + "description": "The prediction output.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensor" + } + }, + "parameters": { + "description": "The parameters that govern the prediction.", + "$ref": "GoogleCloudAiplatformV1Tensor" + } + } + }, + "GoogleCloudAiplatformV1PredictLongRunningRequest": { + "id": "GoogleCloudAiplatformV1PredictLongRunningRequest", + "description": "Request message for PredictionService.PredictLongRunning.", + "type": "object", + "properties": { + "instances": { + "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "type": "array", + "items": { + "type": "any" + } + }, + "parameters": { + "description": "Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1FetchPredictOperationRequest": { + "id": "GoogleCloudAiplatformV1FetchPredictOperationRequest", + "description": "Request message for PredictionService.FetchPredictOperation.", + "type": "object", + "properties": { + "operationName": { + "description": "Required. The server-assigned name for the operation.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1InvokeRequest": { + "id": "GoogleCloudAiplatformV1InvokeRequest", + "description": "Request message for PredictionService.Invoke.", + "type": "object", + "properties": { + "deployedModelId": { + "description": "ID of the DeployedModel that serves the invoke request.", + "type": "string" + }, + "httpBody": { + "description": "The invoke method input. Supports HTTP headers and arbitrary data payload.", + "$ref": "GoogleApiHttpBody" + } + } + }, + "GoogleCloudAiplatformV1ExplainRequest": { + "id": "GoogleCloudAiplatformV1ExplainRequest", + "description": "Request message for PredictionService.Explain.", + "type": "object", + "properties": { + "instances": { + "description": "Required. The instances that are the input to the explanation call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the explanation call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "type": "array", + "items": { + "type": "any" + } + }, + "parameters": { + "description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + }, + "explanationSpecOverride": { + "description": "If specified, overrides the explanation_spec of the DeployedModel. Can be used for explaining prediction results with different configurations, such as: - Explaining top-5 predictions results as opposed to top-1; - Increasing path count or step count of the attribution methods to reduce approximate errors; - Using different baselines for explaining the prediction results.", + "$ref": "GoogleCloudAiplatformV1ExplanationSpecOverride" + }, + "deployedModelId": { + "description": "If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding Endpoint.traffic_split.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExplanationSpecOverride": { + "id": "GoogleCloudAiplatformV1ExplanationSpecOverride", + "description": "The ExplanationSpec entries that can be overridden at online explanation time.", + "type": "object", + "properties": { + "parameters": { + "description": "The parameters to be overridden. Note that the attribution method cannot be changed. If not specified, no parameter is overridden.", + "$ref": "GoogleCloudAiplatformV1ExplanationParameters" + }, + "metadata": { + "description": "The metadata to be overridden. If not specified, no metadata is overridden.", + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverride" + }, + "examplesOverride": { + "description": "The example-based explanations parameter overrides.", + "$ref": "GoogleCloudAiplatformV1ExamplesOverride" + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataOverride": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataOverride", + "description": "The ExplanationMetadata entries that can be overridden at online explanation time.", + "type": "object", + "properties": { + "inputs": { + "description": "Required. Overrides the input metadata of the features. The key is the name of the feature to be overridden. The keys specified here must exist in the input metadata to be overridden. If a feature is not specified here, the corresponding feature's input metadata is not overridden.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride" + } + } + } + }, + "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride": { + "id": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride", + "description": "The input metadata entries to be overridden.", + "type": "object", + "properties": { + "inputBaselines": { + "description": "Baseline inputs for this feature. This overrides the `input_baseline` field of the ExplanationMetadata.InputMetadata object of the corresponding feature's input metadata. If it's not specified, the original baselines are not overridden.", + "type": "array", + "items": { + "type": "any" + } + } + } + }, + "GoogleCloudAiplatformV1ExamplesOverride": { + "id": "GoogleCloudAiplatformV1ExamplesOverride", + "description": "Overrides for example-based explanations.", + "type": "object", + "properties": { + "neighborCount": { + "description": "The number of neighbors to return.", + "type": "integer", + "format": "int32" + }, + "crowdingCount": { + "description": "The number of neighbors to return that have the same crowding tag.", + "type": "integer", + "format": "int32" + }, + "restrictions": { + "description": "Restrict the resulting nearest neighbors to respect these constraints.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace" + } + }, + "returnEmbeddings": { + "description": "If true, return the embeddings instead of neighbors.", + "type": "boolean" + }, + "dataFormat": { + "description": "The format of the data being provided with each call.", + "type": "string", + "enumDescriptions": [ + "Unspecified format. Must not be used.", + "Provided data is a set of model inputs.", + "Provided data is a set of embeddings." + ], + "enum": [ + "DATA_FORMAT_UNSPECIFIED", + "INSTANCES", + "EMBEDDINGS" + ] + } + } + }, + "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace": { + "id": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace", + "description": "Restrictions namespace for example-based explanations overrides.", + "type": "object", + "properties": { + "namespaceName": { + "description": "The namespace name.", + "type": "string" + }, + "allow": { + "description": "The list of allowed tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "The list of deny tags.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ExplainResponse": { + "id": "GoogleCloudAiplatformV1ExplainResponse", + "description": "Response message for PredictionService.Explain.", + "type": "object", + "properties": { + "explanations": { + "description": "The explanations of the Model's PredictResponse.predictions. It has the same number of elements as instances to be explained.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Explanation" + } + }, + "deployedModelId": { + "description": "ID of the Endpoint's DeployedModel that served this explanation.", + "type": "string" + }, + "predictions": { + "description": "The predictions that are the output of the predictions call. Same as PredictResponse.predictions.", + "type": "array", + "items": { + "type": "any" + } + } + } + }, + "GoogleCloudAiplatformV1Explanation": { + "id": "GoogleCloudAiplatformV1Explanation", + "description": "Explanation of a prediction (provided in PredictResponse.predictions) produced by the Model on a given instance.", + "type": "object", + "properties": { + "attributions": { + "description": "Output only. Feature attributions grouped by predicted outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. By default, we provide Shapley values for the predicted class. However, you can configure the explanation request to generate Shapley values for any other classes too. For example, if a model predicts a probability of `0.4` for approving a loan application, the model's decision is to reject the application since `p(reject) = 0.6 \u003e p(approve) = 0.4`, and the default Shapley values would be computed for rejection decision and not approval, even though the latter might be the positive class. If users set ExplanationParameters.top_k, the attributions are sorted by instance_output_value in descending order. If ExplanationParameters.output_indices is specified, the attributions are stored by Attribution.output_index in the same order as they appear in the output_indices.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Attribution" + } + }, + "neighbors": { + "description": "Output only. List of the nearest neighbors for example-based explanations. For models deployed with the examples explanations feature enabled, the attributions field is empty and instead the neighbors field is populated.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Neighbor" + } + } + } + }, + "GoogleCloudAiplatformV1Attribution": { + "id": "GoogleCloudAiplatformV1Attribution", + "description": "Attribution that explains a particular prediction output.", + "type": "object", + "properties": { + "baselineOutputValue": { + "description": "Output only. Model predicted output if the input instance is constructed from the baselines of all the features defined in ExplanationMetadata.inputs. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model's predicted output has multiple dimensions (rank \u003e 1), this is the value in the output located by output_index. If there are multiple baselines, their output values are averaged.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "instanceOutputValue": { + "description": "Output only. Model predicted output on the corresponding explanation instance. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model predicted output has multiple dimensions, this is the value in the output located by output_index.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "featureAttributions": { + "description": "Output only. Attributions of each explained feature. Features are extracted from the prediction instances according to explanation metadata for inputs. The value is a struct, whose keys are the name of the feature. The values are how much the feature in the instance contributed to the predicted result. The format of the value is determined by the feature's input format: * If the feature is a scalar value, the attribution value is a floating number. * If the feature is an array of scalar values, the attribution value is an array. * If the feature is a struct, the attribution value is a struct. The keys in the attribution value struct are the same as the keys in the feature struct. The formats of the values in the attribution struct are determined by the formats of the values in the feature struct. The ExplanationMetadata.feature_attributions_schema_uri field, pointed to by the ExplanationSpec field of the Endpoint.deployed_models object, points to the schema file that describes the features and their attribution values (if it is populated).", + "readOnly": true, + "type": "any" + }, + "outputIndex": { + "description": "Output only. The index that locates the explained prediction output. If the prediction output is a scalar value, output_index is not populated. If the prediction output has multiple dimensions, the length of the output_index list is the same as the number of dimensions of the output. The i-th element in output_index is the element index of the i-th dimension of the output vector. Indices start from 0.", + "readOnly": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "outputDisplayName": { + "description": "Output only. The display name of the output identified by output_index. For example, the predicted class name by a multi-classification Model. This field is only populated iff the Model predicts display names as a separate field along with the explained output. The predicted display name must has the same shape of the explained output, and can be located using output_index.", + "readOnly": true, + "type": "string" + }, + "approximationError": { + "description": "Output only. Error of feature_attributions caused by approximation used in the explanation method. Lower value means more precise attributions. * For Sampled Shapley attribution, increasing path_count might reduce the error. * For Integrated Gradients attribution, increasing step_count might reduce the error. * For XRAI attribution, increasing step_count might reduce the error. See [this introduction](/vertex-ai/docs/explainable-ai/overview) for more information.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "outputName": { + "description": "Output only. Name of the explain output. Specified as the key in ExplanationMetadata.outputs.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Neighbor": { + "id": "GoogleCloudAiplatformV1Neighbor", + "description": "Neighbors for example-based explanations.", + "type": "object", + "properties": { + "neighborId": { + "description": "Output only. The neighbor id.", + "readOnly": true, + "type": "string" + }, + "neighborDistance": { + "description": "Output only. The neighbor distance.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1GenerateContentRequest": { + "id": "GoogleCloudAiplatformV1GenerateContentRequest", + "description": "Request message for [PredictionService.GenerateContent].", + "type": "object", + "properties": { + "contents": { + "description": "Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "systemInstruction": { + "description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "cachedContent": { + "description": "Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`", + "type": "string" + }, + "tools": { + "description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + }, + "toolConfig": { + "description": "Optional. Tool config. This config is shared for all tools provided in the request.", + "$ref": "GoogleCloudAiplatformV1ToolConfig" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "safetySettings": { + "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetySetting" + } + }, + "modelArmorConfig": { + "description": "Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied.", + "$ref": "GoogleCloudAiplatformV1ModelArmorConfig" + }, + "generationConfig": { + "description": "Optional. Generation config.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" + } + } + }, + "GoogleCloudAiplatformV1SafetySetting": { + "id": "GoogleCloudAiplatformV1SafetySetting", + "description": "A safety setting that affects the safety-blocking behavior. A SafetySetting consists of a harm category and a threshold for that category.", + "type": "object", + "properties": { + "category": { + "description": "Required. The harm category to be blocked.", + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Content that promotes violence or incites hatred against individuals or groups based on certain attributes.", + "Content that promotes, facilitates, or enables dangerous activities.", + "Abusive, threatening, or content intended to bully, torment, or ridicule.", + "Content that contains sexually explicit material.", + "Deprecated: Election filter is not longer supported. The harm category is civic integrity.", + "Images that contain hate speech.", + "Images that contain dangerous content.", + "Images that contain harassment.", + "Images that contain sexually explicit content.", + "Prompts designed to bypass safety filters." + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false + ], + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY", + "HARM_CATEGORY_IMAGE_HATE", + "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT", + "HARM_CATEGORY_IMAGE_HARASSMENT", + "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_JAILBREAK" + ] + }, + "threshold": { + "description": "Required. The threshold for blocking content. If the harm probability exceeds this threshold, the content will be blocked.", + "type": "string", + "enumDescriptions": [ + "The harm block threshold is unspecified.", + "Block content with a low harm probability or higher.", + "Block content with a medium harm probability or higher.", + "Block content with a high harm probability.", + "Do not block any content, regardless of its harm probability.", + "Turn off the safety filter entirely." + ], + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ] + }, + "method": { + "description": "Optional. The method for blocking content. If not specified, the default behavior is to use the probability score.", + "type": "string", + "enumDescriptions": [ + "The harm block method is unspecified.", + "The harm block method uses both probability and severity scores.", + "The harm block method uses the probability score." + ], + "enum": [ + "HARM_BLOCK_METHOD_UNSPECIFIED", + "SEVERITY", + "PROBABILITY" + ] + } + } + }, + "GoogleCloudAiplatformV1ModelArmorConfig": { + "id": "GoogleCloudAiplatformV1ModelArmorConfig", + "description": "Configuration for Model Armor. Model Armor is a Google Cloud service that provides safety and security filtering for prompts and responses. It helps protect your AI applications from risks such as harmful content, sensitive data leakage, and prompt injection attacks.", + "type": "object", + "properties": { + "promptTemplateName": { + "description": "Optional. The resource name of the Model Armor template to use for prompt screening. A Model Armor template is a set of customized filters and thresholds that define how Model Armor screens content. If specified, Model Armor will use this template to check the user's prompt for safety and security risks before it is sent to the model. The name must be in the format `projects/{project}/locations/{location}/templates/{template}`.", + "type": "string" + }, + "responseTemplateName": { + "description": "Optional. The resource name of the Model Armor template to use for response screening. A Model Armor template is a set of customized filters and thresholds that define how Model Armor screens content. If specified, Model Armor will use this template to check the model's response for safety and security risks before it is returned to the user. The name must be in the format `projects/{project}/locations/{location}/templates/{template}`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GenerateContentResponse": { + "id": "GoogleCloudAiplatformV1GenerateContentResponse", + "description": "Response message for [PredictionService.GenerateContent].", + "type": "object", + "properties": { + "candidates": { + "description": "Output only. Generated candidates.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Candidate" + } + }, + "modelVersion": { + "description": "Output only. The model version used to generate the response.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the request is made to the server.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "responseId": { + "description": "Output only. response_id is used to identify each response. It is the encoding of the event_id.", + "readOnly": true, + "type": "string" + }, + "promptFeedback": { + "description": "Output only. Content filter results for a prompt sent in the request. Note: Sent only in the first stream chunk. Only happens when no candidates were generated due to content violations.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback" + }, + "usageMetadata": { + "description": "Usage metadata about the response(s).", + "$ref": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata" + } + } + }, + "GoogleCloudAiplatformV1Candidate": { + "id": "GoogleCloudAiplatformV1Candidate", + "description": "A response candidate generated from the model.", + "type": "object", + "properties": { + "index": { + "description": "Output only. The 0-based index of this candidate in the list of generated responses. This is useful for distinguishing between multiple candidates when `candidate_count` \u003e 1.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "content": { + "description": "Output only. The content of the candidate.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Content" + }, + "avgLogprobs": { + "description": "Output only. The average log probability of the tokens in this candidate. This is a length-normalized score that can be used to compare the quality of candidates of different lengths. A higher average log probability suggests a more confident and coherent response.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "logprobsResult": { + "description": "Output only. The detailed log probability information for the tokens in this candidate. This is useful for debugging, understanding model uncertainty, and identifying potential \"hallucinations\".", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1LogprobsResult" + }, + "finishReason": { + "description": "Output only. The reason why the model stopped generating tokens. If empty, the model has not stopped generating.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The finish reason is unspecified.", + "The model reached a natural stopping point or a configured stop sequence.", + "The model generated the maximum number of tokens allowed by the `max_output_tokens` parameter.", + "The model stopped generating because the content potentially violates safety policies. NOTE: When streaming, the `content` field is empty if content filters block the output.", + "The model stopped generating because the content may be a recitation from a source.", + "The model stopped generating for a reason not otherwise specified.", + "The model stopped generating because the content contains a term from a configured blocklist.", + "The model stopped generating because the content may be prohibited.", + "The model stopped generating because the content may contain sensitive personally identifiable information (SPII).", + "The model generated a function call that is syntactically invalid and can't be parsed.", + "The model response was blocked by Model Armor.", + "The generated image potentially violates safety policies.", + "The generated image may contain prohibited content.", + "The generated image may be a recitation from a source.", + "The image generation stopped for a reason not otherwise specified.", + "The model generated a function call that is semantically invalid. This can happen, for example, if function calling is not enabled or the generated function is not in the function declaration.", + "The model was expected to generate an image, but didn't." + ], + "enum": [ + "FINISH_REASON_UNSPECIFIED", + "STOP", + "MAX_TOKENS", + "SAFETY", + "RECITATION", + "OTHER", + "BLOCKLIST", + "PROHIBITED_CONTENT", + "SPII", + "MALFORMED_FUNCTION_CALL", + "MODEL_ARMOR", + "IMAGE_SAFETY", + "IMAGE_PROHIBITED_CONTENT", + "IMAGE_RECITATION", + "IMAGE_OTHER", + "UNEXPECTED_TOOL_CALL", + "NO_IMAGE" + ] + }, + "safetyRatings": { + "description": "Output only. A list of ratings for the safety of a response candidate. There is at most one rating per category.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetyRating" + } + }, + "finishMessage": { + "description": "Output only. Describes the reason the model stopped generating tokens in more detail. This field is returned only when `finish_reason` is set.", + "readOnly": true, + "type": "string" + }, + "citationMetadata": { + "description": "Output only. A collection of citations that apply to the generated content.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CitationMetadata" + }, + "groundingMetadata": { + "description": "Output only. Metadata returned when grounding is enabled. It contains the sources used to ground the generated content.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1GroundingMetadata" + }, + "urlContextMetadata": { + "description": "Output only. Metadata returned when the model uses the `url_context` tool to get information from a user-provided URL.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1UrlContextMetadata" + } + } + }, + "GoogleCloudAiplatformV1LogprobsResult": { + "id": "GoogleCloudAiplatformV1LogprobsResult", + "description": "The log probabilities of the tokens generated by the model. This is useful for understanding the model's confidence in its predictions and for debugging. For example, you can use log probabilities to identify when the model is making a less confident prediction or to explore alternative responses that the model considered. A low log probability can also indicate that the model is \"hallucinating\" or generating factually incorrect information.", + "type": "object", + "properties": { + "topCandidates": { + "description": "A list of the top candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1LogprobsResultTopCandidates" + } + }, + "chosenCandidates": { + "description": "A list of the chosen candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps. Note that the chosen candidate might not be in `top_candidates`.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" + } + } + } + }, + "GoogleCloudAiplatformV1LogprobsResultTopCandidates": { + "id": "GoogleCloudAiplatformV1LogprobsResultTopCandidates", + "description": "A list of the top candidate tokens and their log probabilities at each decoding step. This can be used to see what other tokens the model considered.", + "type": "object", + "properties": { + "candidates": { + "description": "The list of candidate tokens, sorted by log probability in descending order.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" + } + } + } + }, + "GoogleCloudAiplatformV1LogprobsResultCandidate": { + "id": "GoogleCloudAiplatformV1LogprobsResultCandidate", + "description": "A single token and its associated log probability.", + "type": "object", + "properties": { + "token": { + "description": "The token's string representation.", + "type": "string" + }, + "tokenId": { + "description": "The token's numerical ID. While the `token` field provides the string representation of the token, the `token_id` is the numerical representation that the model uses internally. This can be useful for developers who want to build custom logic based on the model's vocabulary.", + "type": "integer", + "format": "int32" + }, + "logProbability": { + "description": "The log probability of this token. A higher value indicates that the model was more confident in this token. The log probability can be used to assess the relative likelihood of different tokens and to identify when the model is uncertain.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SafetyRating": { + "id": "GoogleCloudAiplatformV1SafetyRating", + "description": "A safety rating for a piece of content. The safety rating contains the harm category and the harm probability level.", + "type": "object", + "properties": { + "category": { + "description": "Output only. The harm category of this rating.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Content that promotes violence or incites hatred against individuals or groups based on certain attributes.", + "Content that promotes, facilitates, or enables dangerous activities.", + "Abusive, threatening, or content intended to bully, torment, or ridicule.", + "Content that contains sexually explicit material.", + "Deprecated: Election filter is not longer supported. The harm category is civic integrity.", + "Images that contain hate speech.", + "Images that contain dangerous content.", + "Images that contain harassment.", + "Images that contain sexually explicit content.", + "Prompts designed to bypass safety filters." + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false + ], + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY", + "HARM_CATEGORY_IMAGE_HATE", + "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT", + "HARM_CATEGORY_IMAGE_HARASSMENT", + "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_JAILBREAK" + ] + }, + "probability": { + "description": "Output only. The probability of harm for this category.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The harm probability is unspecified.", + "The harm probability is negligible.", + "The harm probability is low.", + "The harm probability is medium.", + "The harm probability is high." + ], + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "probabilityScore": { + "description": "Output only. The probability score of harm for this category.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "severity": { + "description": "Output only. The severity of harm for this category.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The harm severity is unspecified.", + "The harm severity is negligible.", + "The harm severity is low.", + "The harm severity is medium.", + "The harm severity is high." + ], + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ] + }, + "severityScore": { + "description": "Output only. The severity score of harm for this category.", + "readOnly": true, + "type": "number", + "format": "float" + }, + "blocked": { + "description": "Output only. Indicates whether the content was blocked because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "overwrittenThreshold": { + "description": "Output only. The overwritten threshold for the safety category of Gemini 2.0 image out. If minors are detected in the output image, the threshold of each safety category will be overwritten if user sets a lower threshold.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The harm block threshold is unspecified.", + "Block content with a low harm probability or higher.", + "Block content with a medium harm probability or higher.", + "Block content with a high harm probability.", + "Do not block any content, regardless of its harm probability.", + "Turn off the safety filter entirely." + ], + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ] + } + } + }, + "GoogleCloudAiplatformV1CitationMetadata": { + "id": "GoogleCloudAiplatformV1CitationMetadata", + "description": "A collection of citations that apply to a piece of generated content.", + "type": "object", + "properties": { + "citations": { + "description": "Output only. A list of citations for the content.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Citation" + } + } + } + }, + "GoogleCloudAiplatformV1Citation": { + "id": "GoogleCloudAiplatformV1Citation", + "description": "A citation for a piece of generatedcontent.", + "type": "object", + "properties": { + "startIndex": { + "description": "Output only. The start index of the citation in the content.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "endIndex": { + "description": "Output only. The end index of the citation in the content.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "uri": { + "description": "Output only. The URI of the source of the citation.", + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. The title of the source of the citation.", + "readOnly": true, + "type": "string" + }, + "license": { + "description": "Output only. The license of the source of the citation.", + "readOnly": true, + "type": "string" + }, + "publicationDate": { + "description": "Output only. The publication date of the source of the citation.", + "readOnly": true, + "$ref": "GoogleTypeDate" + } + } + }, + "GoogleTypeDate": { + "id": "GoogleTypeDate", + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "type": "object", + "properties": { + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "type": "integer", + "format": "int32" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "type": "integer", + "format": "int32" + }, + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1GroundingMetadata": { + "id": "GoogleCloudAiplatformV1GroundingMetadata", + "description": "Information about the sources that support the content of a response. When grounding is enabled, the model returns citations for claims in the response. This object contains the retrieved sources.", + "type": "object", + "properties": { + "webSearchQueries": { + "description": "Optional. The web search queries that were used to generate the content. This field is populated only when the grounding source is Google Search.", + "type": "array", + "items": { + "type": "string" + } + }, + "searchEntryPoint": { + "description": "Optional. A web search entry point that can be used to display search results. This field is populated only when the grounding source is Google Search.", + "$ref": "GoogleCloudAiplatformV1SearchEntryPoint" + }, + "groundingChunks": { + "description": "A list of supporting references retrieved from the grounding source. This field is populated when the grounding source is Google Search, Vertex AI Search, or Google Maps.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GroundingChunk" + } + }, + "groundingSupports": { + "description": "Optional. A list of grounding supports that connect the generated content to the grounding chunks. This field is populated when the grounding source is Google Search or Vertex AI Search.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GroundingSupport" + } + }, + "retrievalMetadata": { + "description": "Optional. Output only. Metadata related to the retrieval grounding source.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1RetrievalMetadata" + }, + "googleMapsWidgetContextToken": { + "description": "Optional. Output only. A token that can be used to render a Google Maps widget with the contextual data. This field is populated only when the grounding source is Google Maps.", + "readOnly": true, + "type": "string" + }, + "sourceFlaggingUris": { + "description": "Optional. Output only. A list of URIs that can be used to flag a place or review for inappropriate content. This field is populated only when the grounding source is Google Maps.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri" + } + } + } + }, + "GoogleCloudAiplatformV1SearchEntryPoint": { + "id": "GoogleCloudAiplatformV1SearchEntryPoint", + "description": "An entry point for displaying Google Search results. A `SearchEntryPoint` is populated when the grounding source for a model's response is Google Search. It provides information that you can use to display the search results in your application.", + "type": "object", + "properties": { + "renderedContent": { + "description": "Optional. An HTML snippet that can be embedded in a web page or an application's webview. This snippet displays a search result, including the title, URL, and a brief description of the search result.", + "type": "string" + }, + "sdkBlob": { + "description": "Optional. A base64-encoded JSON object that contains a list of search queries and their corresponding search URLs. This information can be used to build a custom search UI.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1GroundingChunk": { + "id": "GoogleCloudAiplatformV1GroundingChunk", + "description": "A piece of evidence that supports a claim made by the model. This is used to show a citation for a claim made by the model. When grounding is enabled, the model returns a `GroundingChunk` that contains a reference to the source of the information.", + "type": "object", + "properties": { + "web": { + "description": "A grounding chunk from a web page, typically from Google Search. See the `Web` message for details.", + "$ref": "GoogleCloudAiplatformV1GroundingChunkWeb" + }, + "retrievedContext": { + "description": "A grounding chunk from a data source retrieved by a retrieval tool, such as Vertex AI Search. See the `RetrievedContext` message for details", + "$ref": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext" + }, + "maps": { + "description": "A grounding chunk from Google Maps. See the `Maps` message for details.", + "$ref": "GoogleCloudAiplatformV1GroundingChunkMaps" + } + } + }, + "GoogleCloudAiplatformV1GroundingChunkWeb": { + "id": "GoogleCloudAiplatformV1GroundingChunkWeb", + "description": "A `Web` chunk is a piece of evidence that comes from a web page. It contains the URI of the web page, the title of the page, and the domain of the page. This is used to provide the user with a link to the source of the information.", + "type": "object", + "properties": { + "uri": { + "description": "The URI of the web page that contains the evidence.", + "type": "string" + }, + "title": { + "description": "The title of the web page that contains the evidence.", + "type": "string" + }, + "domain": { + "description": "The domain of the web page that contains the evidence. This can be used to filter out low-quality sources.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GroundingChunkRetrievedContext": { + "id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", + "description": "Context retrieved from a data source to ground the model's response. This is used when a retrieval tool fetches information from a user-provided corpus or a public dataset.", + "type": "object", + "properties": { + "ragChunk": { + "description": "Additional context for a Retrieval-Augmented Generation (RAG) retrieval result. This is populated only when the RAG retrieval tool is used.", + "$ref": "GoogleCloudAiplatformV1RagChunk" + }, + "uri": { + "description": "The URI of the retrieved data source.", + "type": "string" + }, + "title": { + "description": "The title of the retrieved data source.", + "type": "string" + }, + "text": { + "description": "The content of the retrieved data source.", + "type": "string" + }, + "documentName": { + "description": "Output only. The full resource name of the referenced Vertex AI Search document. This is used to identify the specific document that was retrieved. The format is `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagChunk": { + "id": "GoogleCloudAiplatformV1RagChunk", + "description": "A RagChunk includes the content of a chunk of a RagFile, and associated metadata.", + "type": "object", + "properties": { + "text": { + "description": "The content of the chunk.", + "type": "string" + }, + "pageSpan": { + "description": "If populated, represents where the chunk starts and ends in the document.", + "$ref": "GoogleCloudAiplatformV1RagChunkPageSpan" + } + } + }, + "GoogleCloudAiplatformV1RagChunkPageSpan": { + "id": "GoogleCloudAiplatformV1RagChunkPageSpan", + "description": "Represents where the chunk starts and ends in the document.", + "type": "object", + "properties": { + "firstPage": { + "description": "Page where chunk starts in the document. Inclusive. 1-indexed.", + "type": "integer", + "format": "int32" + }, + "lastPage": { + "description": "Page where chunk ends in the document. Inclusive. 1-indexed.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1GroundingChunkMaps": { + "id": "GoogleCloudAiplatformV1GroundingChunkMaps", + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps. It contains information about a place, such as its name, address, and reviews. This is used to provide the user with rich, location-based information.", + "type": "object", + "properties": { + "uri": { + "description": "The URI of the place.", + "type": "string" + }, + "title": { + "description": "The title of the place.", + "type": "string" + }, + "text": { + "description": "The text of the place answer.", + "type": "string" + }, + "placeId": { + "description": "This Place's resource name, in `places/{place_id}` format. This can be used to look up the place in the Google Maps API.", + "type": "string" + }, + "placeAnswerSources": { + "description": "The sources that were used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as URIs to flag content.", + "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources" + } + } + }, + "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources": { + "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources", + "description": "The sources that were used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as URIs to flag content.", + "type": "object", + "properties": { + "reviewSnippets": { + "description": "Snippets of reviews that were used to generate the answer.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + } + } + } + }, + "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { + "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", + "description": "A review snippet that is used to generate the answer.", + "type": "object", + "properties": { + "reviewId": { + "description": "The ID of the review that is being referenced.", + "type": "string" + }, + "googleMapsUri": { + "description": "A link to show the review on Google Maps.", + "type": "string" + }, + "title": { + "description": "The title of the review.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GroundingSupport": { + "id": "GoogleCloudAiplatformV1GroundingSupport", + "description": "A collection of supporting references for a segment of the model's response.", + "type": "object", + "properties": { + "segment": { + "description": "The content segment that this support message applies to.", + "$ref": "GoogleCloudAiplatformV1Segment" + }, + "groundingChunkIndices": { + "description": "A list of indices into the `grounding_chunks` field of the `GroundingMetadata` message. These indices specify which grounding chunks support the claim made in the content segment. For example, if this field has the values `[1, 3]`, it means that `grounding_chunks[1]` and `grounding_chunks[3]` are the sources for the claim in the content segment.", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "confidenceScores": { + "description": "The confidence scores for the support references. This list is parallel to the `grounding_chunk_indices` list. A score is a value between 0.0 and 1.0, with a higher score indicating a higher confidence that the reference supports the claim. For Gemini 2.0 and before, this list has the same size as `grounding_chunk_indices`. For Gemini 2.5 and later, this list is empty and should be ignored.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1Segment": { + "id": "GoogleCloudAiplatformV1Segment", + "description": "A segment of the content.", + "type": "object", + "properties": { + "partIndex": { + "description": "Output only. The index of the `Part` object that this segment belongs to. This is useful for associating the segment with a specific part of the content.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "startIndex": { + "description": "Output only. The start index of the segment in the `Part`, measured in bytes. This marks the beginning of the segment and is inclusive, meaning the byte at this index is the first byte of the segment.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "endIndex": { + "description": "Output only. The end index of the segment in the `Part`, measured in bytes. This marks the end of the segment and is exclusive, meaning the segment includes content up to, but not including, the byte at this index.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "text": { + "description": "Output only. The text of the segment.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RetrievalMetadata": { + "id": "GoogleCloudAiplatformV1RetrievalMetadata", + "description": "Metadata related to the retrieval grounding source. This is part of the `GroundingMetadata` returned when grounding is enabled.", + "type": "object", + "properties": { + "googleSearchDynamicRetrievalScore": { + "description": "Optional. A score indicating how likely it is that a Google Search query could help answer the prompt. The score is in the range of `[0, 1]`. A score of 1 means the model is confident that a search will be helpful, and 0 means it is not. This score is populated only when Google Search grounding and dynamic retrieval are enabled. The score is used to determine whether to trigger a search.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri": { + "id": "GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri", + "description": "A URI that can be used to flag a place or review for inappropriate content. This is populated only when the grounding source is Google Maps.", + "type": "object", + "properties": { + "sourceId": { + "description": "The ID of the place or review.", + "type": "string" + }, + "flagContentUri": { + "description": "The URI that can be used to flag the content.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UrlContextMetadata": { + "id": "GoogleCloudAiplatformV1UrlContextMetadata", + "description": "Metadata returned when the model uses the `url_context` tool to get information from a user-provided URL.", + "type": "object", + "properties": { + "urlMetadata": { + "description": "Output only. A list of URL metadata, with one entry for each URL retrieved by the tool.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1UrlMetadata" + } + } + } + }, + "GoogleCloudAiplatformV1UrlMetadata": { + "id": "GoogleCloudAiplatformV1UrlMetadata", + "description": "The metadata for a single URL retrieval.", + "type": "object", + "properties": { + "retrievedUrl": { + "description": "The URL retrieved by the tool.", + "type": "string" + }, + "urlRetrievalStatus": { + "description": "The status of the URL retrieval.", + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The URL was retrieved successfully.", + "The URL retrieval failed." + ], + "enum": [ + "URL_RETRIEVAL_STATUS_UNSPECIFIED", + "URL_RETRIEVAL_STATUS_SUCCESS", + "URL_RETRIEVAL_STATUS_ERROR" + ] + } + } + }, + "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback": { + "id": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback", + "description": "Content filter results for a prompt sent in the request. Note: This is sent only in the first stream chunk and only if no candidates were generated due to content violations.", + "type": "object", + "properties": { + "blockReason": { + "description": "Output only. The reason why the prompt was blocked.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The blocked reason is unspecified.", + "The prompt was blocked for safety reasons.", + "The prompt was blocked for other reasons. For example, it may be due to the prompt's language, or because it contains other harmful content.", + "The prompt was blocked because it contains a term from the terminology blocklist.", + "The prompt was blocked because it contains prohibited content.", + "The prompt was blocked by Model Armor.", + "The prompt was blocked because it contains content that is unsafe for image generation.", + "The prompt was blocked as a jailbreak attempt." + ], + "enum": [ + "BLOCKED_REASON_UNSPECIFIED", + "SAFETY", + "OTHER", + "BLOCKLIST", + "PROHIBITED_CONTENT", + "MODEL_ARMOR", + "IMAGE_SAFETY", + "JAILBREAK" + ] + }, + "safetyRatings": { + "description": "Output only. A list of safety ratings for the prompt. There is one rating per category.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetyRating" + } + }, + "blockReasonMessage": { + "description": "Output only. A readable message that explains the reason why the prompt was blocked.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata": { + "id": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", + "description": "Usage metadata about the content generation request and response. This message provides a detailed breakdown of token usage and other relevant metrics.", + "type": "object", + "properties": { + "promptTokenCount": { + "description": "The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When `cached_content` is set, this also includes the number of tokens in the cached content.", + "type": "integer", + "format": "int32" + }, + "candidatesTokenCount": { + "description": "The total number of tokens in the generated candidates.", + "type": "integer", + "format": "int32" + }, + "totalTokenCount": { + "description": "The total number of tokens for the entire request. This is the sum of `prompt_token_count`, `candidates_token_count`, `tool_use_prompt_token_count`, and `thoughts_token_count`.", + "type": "integer", + "format": "int32" + }, + "toolUsePromptTokenCount": { + "description": "Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "thoughtsTokenCount": { + "description": "Output only. The number of tokens that were part of the model's generated \"thoughts\" output, if applicable.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "cachedContentTokenCount": { + "description": "Output only. The number of tokens in the cached content that was used for this request.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "promptTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the prompt.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "cacheTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the cached content.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "candidatesTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the generated candidates.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "toolUsePromptTokensDetails": { + "description": "Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "trafficType": { + "description": "Output only. The traffic type for this request.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified request traffic type.", + "The request was processed using Pay-As-You-Go quota.", + "Type for Provisioned Throughput traffic." + ], + "enum": [ + "TRAFFIC_TYPE_UNSPECIFIED", + "ON_DEMAND", + "PROVISIONED_THROUGHPUT" + ] + } + } + }, + "GoogleCloudAiplatformV1ModalityTokenCount": { + "id": "GoogleCloudAiplatformV1ModalityTokenCount", + "description": "Represents a breakdown of token usage by modality. This message is used in CountTokensResponse and GenerateContentResponse.UsageMetadata to provide a detailed view of how many tokens are used by each modality (e.g., text, image, video) in a request. This is particularly useful for multimodal models, allowing you to track and manage token consumption for billing and quota purposes.", + "type": "object", + "properties": { + "modality": { + "description": "The modality that this token count applies to.", + "type": "string", + "enumDescriptions": [ + "When a modality is not specified, it is treated as `TEXT`.", + "The `Part` contains plain text.", + "The `Part` contains an image.", + "The `Part` contains a video.", + "The `Part` contains audio.", + "The `Part` contains a document, such as a PDF." + ], + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "VIDEO", + "AUDIO", + "DOCUMENT" + ] + }, + "tokenCount": { + "description": "The number of tokens counted for this modality.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1EmbedContentRequest": { + "id": "GoogleCloudAiplatformV1EmbedContentRequest", + "description": "Request message for PredictionService.EmbedContent.", + "type": "object", + "properties": { + "content": { + "description": "Required. Input content to be embedded. Required.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "title": { + "description": "Optional. An optional title for the text.", + "type": "string" + }, + "taskType": { + "description": "Optional. The task type of the embedding.", + "type": "string", + "enumDescriptions": [ + "Unset value, which will default to one of the other enum values.", + "Specifies the given text is a query in a search/retrieval setting.", + "Specifies the given text is a document from the corpus being searched.", + "Specifies the given text will be used for STS.", + "Specifies that the given text will be classified.", + "Specifies that the embeddings will be used for clustering.", + "Specifies that the embeddings will be used for question answering.", + "Specifies that the embeddings will be used for fact verification.", + "Specifies that the embeddings will be used for code retrieval." + ], + "enum": [ + "UNSPECIFIED", + "RETRIEVAL_QUERY", + "RETRIEVAL_DOCUMENT", + "SEMANTIC_SIMILARITY", + "CLASSIFICATION", + "CLUSTERING", + "QUESTION_ANSWERING", + "FACT_VERIFICATION", + "CODE_RETRIEVAL_QUERY" + ] + }, + "outputDimensionality": { + "description": "Optional. Optional reduced dimension for the output embedding. If set, excessive values in the output embedding are truncated from the end.", + "type": "integer", + "format": "int32" + }, + "autoTruncate": { + "description": "Optional. Whether to silently truncate the input content if it's longer than the maximum sequence length.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1EmbedContentResponse": { + "id": "GoogleCloudAiplatformV1EmbedContentResponse", + "description": "Response message for PredictionService.EmbedContent.", + "type": "object", + "properties": { + "embedding": { + "description": "The embedding generated from the input content.", + "$ref": "GoogleCloudAiplatformV1EmbedContentResponseEmbedding" + }, + "usageMetadata": { + "description": "Metadata about the response(s).", + "$ref": "GoogleCloudAiplatformV1UsageMetadata" + }, + "truncated": { + "description": "Whether the input content was truncated before generating the embedding.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1EmbedContentResponseEmbedding": { + "id": "GoogleCloudAiplatformV1EmbedContentResponseEmbedding", + "description": "A list of floats representing an embedding.", + "type": "object", + "properties": { + "values": { + "description": "Embedding vector values.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1UsageMetadata": { + "id": "GoogleCloudAiplatformV1UsageMetadata", + "description": "Usage metadata about the content generation request and response. This message provides a detailed breakdown of token usage and other relevant metrics.", + "type": "object", + "properties": { + "promptTokenCount": { + "description": "The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When `cached_content` is set, this also includes the number of tokens in the cached content.", + "type": "integer", + "format": "int32" + }, + "candidatesTokenCount": { + "description": "The total number of tokens in the generated candidates.", + "type": "integer", + "format": "int32" + }, + "totalTokenCount": { + "description": "The total number of tokens for the entire request. This is the sum of `prompt_token_count`, `candidates_token_count`, `tool_use_prompt_token_count`, and `thoughts_token_count`.", + "type": "integer", + "format": "int32" + }, + "toolUsePromptTokenCount": { + "description": "Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "thoughtsTokenCount": { + "description": "Output only. The number of tokens that were part of the model's generated \"thoughts\" output, if applicable.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "cachedContentTokenCount": { + "description": "Output only. The number of tokens in the cached content that was used for this request.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "promptTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the prompt.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "cacheTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the cached content.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "candidatesTokensDetails": { + "description": "Output only. A detailed breakdown of the token count for each modality in the generated candidates.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "toolUsePromptTokensDetails": { + "description": "Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + }, + "trafficType": { + "description": "Output only. The traffic type for this request.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified request traffic type.", + "Type for Pay-As-You-Go traffic.", + "Type for Provisioned Throughput traffic." + ], + "enum": [ + "TRAFFIC_TYPE_UNSPECIFIED", + "ON_DEMAND", + "PROVISIONED_THROUGHPUT" + ] + } + } + }, + "GoogleCloudAiplatformV1CountTokensRequest": { + "id": "GoogleCloudAiplatformV1CountTokensRequest", + "description": "Request message for PredictionService.CountTokens.", + "type": "object", + "properties": { + "model": { + "description": "Optional. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", + "type": "string" + }, + "instances": { + "description": "Optional. The instances that are the input to token counting call. Schema is identical to the prediction schema of the underlying model.", + "type": "array", + "items": { + "type": "any" + } + }, + "contents": { + "description": "Optional. Input content.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "systemInstruction": { + "description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "tools": { + "description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + }, + "generationConfig": { + "description": "Optional. Generation config that the model will use to generate the response.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" + } + } + }, + "GoogleCloudAiplatformV1CountTokensResponse": { + "id": "GoogleCloudAiplatformV1CountTokensResponse", + "description": "Response message for PredictionService.CountTokens.", + "type": "object", + "properties": { + "totalTokens": { + "description": "The total number of tokens counted across all instances from the request.", + "type": "integer", + "format": "int32" + }, + "totalBillableCharacters": { + "description": "The total number of billable characters counted across all instances from the request.", + "type": "integer", + "format": "int32" + }, + "promptTokensDetails": { + "description": "Output only. List of modalities that were processed in the request input.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModalityTokenCount" + } + } + } + }, + "GoogleCloudAiplatformV1ComputeTokensRequest": { + "id": "GoogleCloudAiplatformV1ComputeTokensRequest", + "description": "Request message for ComputeTokens RPC call.", + "type": "object", + "properties": { + "instances": { + "description": "Optional. The instances that are the input to token computing API call. Schema is identical to the prediction schema of the text model, even for the non-text models, like chat models, or Codey models.", + "type": "array", + "items": { + "type": "any" + } + }, + "model": { + "description": "Optional. The name of the publisher model requested to serve the prediction. Format: projects/{project}/locations/{location}/publishers/*/models/*", + "type": "string" + }, + "contents": { + "description": "Optional. Input content.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + } + } + }, + "GoogleCloudAiplatformV1ComputeTokensResponse": { + "id": "GoogleCloudAiplatformV1ComputeTokensResponse", + "description": "Response message for ComputeTokens RPC call.", + "type": "object", + "properties": { + "tokensInfo": { + "description": "Lists of tokens info from the input. A ComputeTokensRequest could have multiple instances with a prompt in each instance. We also need to return lists of tokens info for the request with multiple instances.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TokensInfo" + } + } + } + }, + "GoogleCloudAiplatformV1TokensInfo": { + "id": "GoogleCloudAiplatformV1TokensInfo", + "description": "Tokens info with a list of tokens and the corresponding list of token ids.", + "type": "object", + "properties": { + "tokens": { + "description": "A list of tokens from the input.", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "tokenIds": { + "description": "A list of token ids from the input.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "role": { + "description": "Optional. Optional fields for the role from the corresponding Content.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsRequest": { + "id": "GoogleCloudAiplatformV1FindNeighborsRequest", + "description": "The request message for MatchService.FindNeighbors.", + "type": "object", + "properties": { + "deployedIndexId": { + "description": "The ID of the DeployedIndex that will serve the request. This request is sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index has a DeployedIndex.id field. The value of the field below must equal one of the DeployedIndex.id fields of the IndexEndpoint that is being called for this request.", + "type": "string" + }, + "queries": { + "description": "The list of queries.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQuery" + } + }, + "returnFullDatapoint": { + "description": "If set to true, the full datapoints (including all vector values and restricts) of the nearest neighbors are returned. Note that returning full datapoint will significantly increase the latency and cost of the query.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsRequestQuery": { + "id": "GoogleCloudAiplatformV1FindNeighborsRequestQuery", + "description": "A query to find a number of the nearest neighbors (most similar vectors) of a vector.", + "type": "object", + "properties": { + "rrf": { + "description": "Optional. Represents RRF algorithm that combines search results.", + "$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF" + }, + "datapoint": { + "description": "Required. The datapoint/vector whose nearest neighbors should be searched for.", + "$ref": "GoogleCloudAiplatformV1IndexDatapoint" + }, + "neighborCount": { + "description": "The number of nearest neighbors to be retrieved from database for each query. If not set, will use the default from the service configuration (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config).", + "type": "integer", + "format": "int32" + }, + "perCrowdingAttributeNeighborCount": { + "description": "Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity. This field is the maximum number of matches with the same crowding tag.", + "type": "integer", + "format": "int32" + }, + "approximateNeighborCount": { + "description": "The number of neighbors to find via approximate search before exact reordering is performed. If not set, the default value from scam config is used; if set, this value must be \u003e 0.", + "type": "integer", + "format": "int32" + }, + "fractionLeafNodesToSearchOverride": { + "description": "The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0. If not set or set to 0.0, query uses the default value specified in NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF": { + "id": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", + "description": "Parameters for RRF algorithm that combines search results.", + "type": "object", + "properties": { + "alpha": { + "description": "Required. Users can provide an alpha value to give more weight to dense vs sparse results. For example, if the alpha is 0, we only return sparse and if the alpha is 1, we only return dense.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsResponse": { + "id": "GoogleCloudAiplatformV1FindNeighborsResponse", + "description": "The response message for MatchService.FindNeighbors.", + "type": "object", + "properties": { + "nearestNeighbors": { + "description": "The nearest neighbors of the query datapoints.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors" + } + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors": { + "id": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors", + "description": "Nearest neighbors for one query.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the query datapoint.", + "type": "string" + }, + "neighbors": { + "description": "All its neighbors.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor" + } + } + } + }, + "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor": { + "id": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor", + "description": "A neighbor of the query vector.", + "type": "object", + "properties": { + "datapoint": { + "description": "The datapoint of the neighbor. Note that full datapoints are returned only when \"return_full_datapoint\" is set to true. Otherwise, only the \"datapoint_id\" and \"crowding_tag\" fields are populated.", + "$ref": "GoogleCloudAiplatformV1IndexDatapoint" + }, + "distance": { + "description": "The distance between the neighbor and the dense embedding query.", + "type": "number", + "format": "double" + }, + "sparseDistance": { + "description": "The distance between the neighbor and the query sparse_embedding.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ReadIndexDatapointsRequest": { + "id": "GoogleCloudAiplatformV1ReadIndexDatapointsRequest", + "description": "The request message for MatchService.ReadIndexDatapoints.", + "type": "object", + "properties": { + "deployedIndexId": { + "description": "The ID of the DeployedIndex that will serve the request.", + "type": "string" + }, + "ids": { + "description": "IDs of the datapoints to be searched for.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ReadIndexDatapointsResponse": { + "id": "GoogleCloudAiplatformV1ReadIndexDatapointsResponse", + "description": "The response message for MatchService.ReadIndexDatapoints.", + "type": "object", + "properties": { + "datapoints": { + "description": "The result list of datapoints.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1IndexDatapoint" + } + } + } + }, + "GoogleCloudAiplatformV1MetadataStore": { + "id": "GoogleCloudAiplatformV1MetadataStore", + "description": "Instance of a metadata store. Contains a set of metadata that can be queried.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the MetadataStore instance.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this MetadataStore was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this MetadataStore was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a Metadata Store. If set, this Metadata Store and all sub-resources of this Metadata Store are secured using this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "description": { + "description": "Description of the MetadataStore.", + "type": "string" + }, + "state": { + "description": "Output only. State information of the MetadataStore.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState" + }, + "dataplexConfig": { + "description": "Optional. Dataplex integration settings.", + "$ref": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig" + } + } + }, + "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState": { + "id": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState", + "description": "Represents state information for a MetadataStore.", + "type": "object", + "properties": { + "diskUtilizationBytes": { + "description": "The disk utilization of the MetadataStore in bytes.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1MetadataStoreDataplexConfig": { + "id": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig", + "description": "Represents Dataplex integration settings.", + "type": "object", + "properties": { + "enabledPipelinesLineage": { + "description": "Optional. Whether or not Data Lineage synchronization is enabled for Vertex Pipelines.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ListMetadataStoresResponse": { + "id": "GoogleCloudAiplatformV1ListMetadataStoresResponse", + "description": "Response message for MetadataService.ListMetadataStores.", + "type": "object", + "properties": { + "metadataStores": { + "description": "The MetadataStores found for the Location.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MetadataStore" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListMetadataStoresRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Artifact": { + "id": "GoogleCloudAiplatformV1Artifact", + "description": "Instance of a general artifact.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the Artifact.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "User provided display name of the Artifact. May be up to 128 Unicode characters.", + "type": "string" + }, + "uri": { + "description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file.", + "type": "string" + }, + "etag": { + "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Artifact was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Artifact was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "state": { + "description": "The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions.", + "type": "string", + "enumDescriptions": [ + "Unspecified state for the Artifact.", + "A state used by systems like Vertex AI Pipelines to indicate that the underlying data item represented by this Artifact is being created.", + "A state indicating that the Artifact should exist, unless something external to the system deletes it." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "LIVE" + ] + }, + "schemaTitle": { + "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "schemaVersion": { + "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "metadata": { + "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "description": { + "description": "Description of the Artifact", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListArtifactsResponse": { + "id": "GoogleCloudAiplatformV1ListArtifactsResponse", + "description": "Response message for MetadataService.ListArtifacts.", + "type": "object", + "properties": { + "artifacts": { + "description": "The Artifacts retrieved from the MetadataStore.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Artifact" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListArtifactsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PurgeArtifactsRequest": { + "id": "GoogleCloudAiplatformV1PurgeArtifactsRequest", + "description": "Request message for MetadataService.PurgeArtifacts.", + "type": "object", + "properties": { + "filter": { + "description": "Required. A required filter matching the Artifacts to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", + "type": "string" + }, + "force": { + "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Artifact names that would be deleted.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1Context": { + "id": "GoogleCloudAiplatformV1Context", + "description": "Instance of a general context.", + "type": "object", + "properties": { + "name": { + "description": "Immutable. The resource name of the Context.", + "type": "string" + }, + "displayName": { + "description": "User provided display name of the Context. May be up to 128 Unicode characters.", + "type": "string" + }, + "etag": { + "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Context was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Context was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "parentContexts": { + "description": "Output only. A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "schemaTitle": { + "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "schemaVersion": { + "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "metadata": { + "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "description": { + "description": "Description of the Context", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListContextsResponse": { + "id": "GoogleCloudAiplatformV1ListContextsResponse", + "description": "Response message for MetadataService.ListContexts.", + "type": "object", + "properties": { + "contexts": { + "description": "The Contexts retrieved from the MetadataStore.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Context" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListContextsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PurgeContextsRequest": { + "id": "GoogleCloudAiplatformV1PurgeContextsRequest", + "description": "Request message for MetadataService.PurgeContexts.", + "type": "object", + "properties": { + "filter": { + "description": "Required. A required filter matching the Contexts to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", + "type": "string" + }, + "force": { + "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Context names that would be deleted.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest": { + "id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest", + "description": "Request message for MetadataService.AddContextArtifactsAndExecutions.", + "type": "object", + "properties": { + "artifacts": { + "description": "The resource names of the Artifacts to attribute to the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", + "type": "array", + "items": { + "type": "string" + } + }, + "executions": { + "description": "The resource names of the Executions to associate with the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse": { + "id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse", + "description": "Response message for MetadataService.AddContextArtifactsAndExecutions.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1AddContextChildrenRequest": { + "id": "GoogleCloudAiplatformV1AddContextChildrenRequest", + "description": "Request message for MetadataService.AddContextChildren.", + "type": "object", + "properties": { + "childContexts": { + "description": "The resource names of the child Contexts.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1AddContextChildrenResponse": { + "id": "GoogleCloudAiplatformV1AddContextChildrenResponse", + "description": "Response message for MetadataService.AddContextChildren.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RemoveContextChildrenRequest": { + "id": "GoogleCloudAiplatformV1RemoveContextChildrenRequest", + "description": "Request message for MetadataService.DeleteContextChildrenRequest.", + "type": "object", + "properties": { + "childContexts": { + "description": "The resource names of the child Contexts.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RemoveContextChildrenResponse": { + "id": "GoogleCloudAiplatformV1RemoveContextChildrenResponse", + "description": "Response message for MetadataService.RemoveContextChildren.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1LineageSubgraph": { + "id": "GoogleCloudAiplatformV1LineageSubgraph", + "description": "A subgraph of the overall lineage graph. Event edges connect Artifact and Execution nodes.", + "type": "object", + "properties": { + "artifacts": { + "description": "The Artifact nodes in the subgraph.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Artifact" + } + }, + "executions": { + "description": "The Execution nodes in the subgraph.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Execution" + } + }, + "events": { + "description": "The Event edges between Artifacts and Executions in the subgraph.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Event" + } + } + } + }, + "GoogleCloudAiplatformV1Execution": { + "id": "GoogleCloudAiplatformV1Execution", + "description": "Instance of a general execution.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the Execution.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "User provided display name of the Execution. May be up to 128 Unicode characters.", + "type": "string" + }, + "state": { + "description": "The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions.", + "type": "string", + "enumDescriptions": [ + "Unspecified Execution state", + "The Execution is new", + "The Execution is running", + "The Execution has finished running", + "The Execution has failed", + "The Execution completed through Cache hit.", + "The Execution was cancelled." + ], + "enum": [ + "STATE_UNSPECIFIED", + "NEW", + "RUNNING", + "COMPLETE", + "FAILED", + "CACHED", + "CANCELLED" + ] + }, + "etag": { + "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Execution was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Execution was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "schemaTitle": { + "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "schemaVersion": { + "description": "The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", + "type": "string" + }, + "metadata": { + "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "description": { + "description": "Description of the Execution", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Event": { + "id": "GoogleCloudAiplatformV1Event", + "description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", + "type": "object", + "properties": { + "artifact": { + "description": "Required. The relative resource name of the Artifact in the Event.", + "type": "string" + }, + "execution": { + "description": "Output only. The relative resource name of the Execution in the Event.", + "readOnly": true, + "type": "string" + }, + "eventTime": { + "description": "Output only. Time the Event occurred.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "type": { + "description": "Required. The type of the Event.", + "type": "string", + "enumDescriptions": [ + "Unspecified whether input or output of the Execution.", + "An input of the Execution.", + "An output of the Execution." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "INPUT", + "OUTPUT" + ] + }, + "labels": { + "description": "The labels with user-defined metadata to annotate Events. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Event (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ListExecutionsResponse": { + "id": "GoogleCloudAiplatformV1ListExecutionsResponse", + "description": "Response message for MetadataService.ListExecutions.", + "type": "object", + "properties": { + "executions": { + "description": "The Executions retrieved from the MetadataStore.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Execution" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListExecutionsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PurgeExecutionsRequest": { + "id": "GoogleCloudAiplatformV1PurgeExecutionsRequest", + "description": "Request message for MetadataService.PurgeExecutions.", + "type": "object", + "properties": { + "filter": { + "description": "Required. A required filter matching the Executions to be purged. E.g., `update_time \u003c= 2020-11-19T11:30:00-04:00`.", + "type": "string" + }, + "force": { + "description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Execution names that would be deleted.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1AddExecutionEventsRequest": { + "id": "GoogleCloudAiplatformV1AddExecutionEventsRequest", + "description": "Request message for MetadataService.AddExecutionEvents.", + "type": "object", + "properties": { + "events": { + "description": "The Events to create and add.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Event" + } + } + } + }, + "GoogleCloudAiplatformV1AddExecutionEventsResponse": { + "id": "GoogleCloudAiplatformV1AddExecutionEventsResponse", + "description": "Response message for MetadataService.AddExecutionEvents.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1MetadataSchema": { + "id": "GoogleCloudAiplatformV1MetadataSchema", + "description": "Instance of a general MetadataSchema.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the MetadataSchema.", + "readOnly": true, + "type": "string" + }, + "schemaVersion": { + "description": "The version of the MetadataSchema. The version's format must match the following regular expression: `^[0-9]+.+.+$`, which would allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc.", + "type": "string" + }, + "schema": { + "description": "Required. The raw YAML string representation of the MetadataSchema. The combination of [MetadataSchema.version] and the schema name given by `title` in [MetadataSchema.schema] must be unique within a MetadataStore. The schema is defined as an OpenAPI 3.0.2 [MetadataSchema Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject)", + "type": "string" + }, + "schemaType": { + "description": "The type of the MetadataSchema. This is a property that identifies which metadata types will use the MetadataSchema.", + "type": "string", + "enumDescriptions": [ + "Unspecified type for the MetadataSchema.", + "A type indicating that the MetadataSchema will be used by Artifacts.", + "A typee indicating that the MetadataSchema will be used by Executions.", + "A state indicating that the MetadataSchema will be used by Contexts." + ], + "enum": [ + "METADATA_SCHEMA_TYPE_UNSPECIFIED", + "ARTIFACT_TYPE", + "EXECUTION_TYPE", + "CONTEXT_TYPE" + ] + }, + "createTime": { + "description": "Output only. Timestamp when this MetadataSchema was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "description": { + "description": "Description of the Metadata Schema", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListMetadataSchemasResponse": { + "id": "GoogleCloudAiplatformV1ListMetadataSchemasResponse", + "description": "Response message for MetadataService.ListMetadataSchemas.", + "type": "object", + "properties": { + "metadataSchemas": { + "description": "The MetadataSchemas found for the MetadataStore.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MetadataSchema" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListMetadataSchemasRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SearchMigratableResourcesRequest": { + "id": "GoogleCloudAiplatformV1SearchMigratableResourcesRequest", + "description": "Request message for MigrationService.SearchMigratableResources.", + "type": "object", + "properties": { + "pageSize": { + "description": "The standard page size. The default and maximum value is 100.", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The standard page token.", + "type": "string" + }, + "filter": { + "description": "A filter for your search. You can use the following types of filters: * Resource type filters. The following strings filter for a specific type of MigratableResource: * `ml_engine_model_version:*` * `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` * \"Migrated or not\" filters. The following strings filter for resources that either have or have not already been migrated: * `last_migrate_time:*` filters for migrated resources. * `NOT last_migrate_time:*` filters for not yet migrated resources.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SearchMigratableResourcesResponse": { + "id": "GoogleCloudAiplatformV1SearchMigratableResourcesResponse", + "description": "Response message for MigrationService.SearchMigratableResources.", + "type": "object", + "properties": { + "migratableResources": { + "description": "All migratable resources that can be migrated to the location specified in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MigratableResource" + } + }, + "nextPageToken": { + "description": "The standard next-page token. The migratable_resources may not fill page_size in SearchMigratableResourcesRequest even when there are subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigratableResource": { + "id": "GoogleCloudAiplatformV1MigratableResource", + "description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", + "type": "object", + "properties": { + "mlEngineModelVersion": { + "description": "Output only. Represents one Version in ml.googleapis.com.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion" + }, + "automlModel": { + "description": "Output only. Represents one Model in automl.googleapis.com.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlModel" + }, + "automlDataset": { + "description": "Output only. Represents one Dataset in automl.googleapis.com.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset" + }, + "dataLabelingDataset": { + "description": "Output only. Represents one Dataset in datalabeling.googleapis.com.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset" + }, + "lastMigrateTime": { + "description": "Output only. Timestamp when the last migration attempt on this MigratableResource started. Will not be set if there's no migration attempt on this MigratableResource.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "lastUpdateTime": { + "description": "Output only. Timestamp when this MigratableResource was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion": { + "id": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion", + "description": "Represents one model Version in ml.googleapis.com.", + "type": "object", + "properties": { + "endpoint": { + "description": "The ml.googleapis.com endpoint that this model Version currently lives in. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", + "type": "string" + }, + "version": { + "description": "Full resource name of ml engine model Version. Format: `projects/{project}/models/{model}/versions/{version}`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigratableResourceAutomlModel": { + "id": "GoogleCloudAiplatformV1MigratableResourceAutomlModel", + "description": "Represents one Model in automl.googleapis.com.", + "type": "object", + "properties": { + "model": { + "description": "Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", + "type": "string" + }, + "modelDisplayName": { + "description": "The Model's display name in automl.googleapis.com.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigratableResourceAutomlDataset": { + "id": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset", + "description": "Represents one Dataset in automl.googleapis.com.", + "type": "object", + "properties": { + "dataset": { + "description": "Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", + "type": "string" + }, + "datasetDisplayName": { + "description": "The Dataset's display name in automl.googleapis.com.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset": { + "id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset", + "description": "Represents one Dataset in datalabeling.googleapis.com.", + "type": "object", + "properties": { + "dataset": { + "description": "Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", + "type": "string" + }, + "datasetDisplayName": { + "description": "The Dataset's display name in datalabeling.googleapis.com.", + "type": "string" + }, + "dataLabelingAnnotatedDatasets": { + "description": "The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to the data labeling Dataset.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset" + } + } + } + }, + "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset": { + "id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset", + "description": "Represents one AnnotatedDataset in datalabeling.googleapis.com.", + "type": "object", + "properties": { + "annotatedDataset": { + "description": "Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", + "type": "string" + }, + "annotatedDatasetDisplayName": { + "description": "The AnnotatedDataset's display name in datalabeling.googleapis.com.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchMigrateResourcesRequest": { + "id": "GoogleCloudAiplatformV1BatchMigrateResourcesRequest", + "description": "Request message for MigrationService.BatchMigrateResources.", + "type": "object", + "properties": { + "migrateResourceRequests": { + "description": "Required. The request messages specifying the resources to migrate. They must be in the same location as the destination. Up to 50 resources can be migrated in one batch.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequest" + } + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequest": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequest", + "description": "Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI.", + "type": "object", + "properties": { + "migrateMlEngineModelVersionConfig": { + "description": "Config for migrating Version in ml.googleapis.com to Vertex AI's Model.", + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig" + }, + "migrateAutomlModelConfig": { + "description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig" + }, + "migrateAutomlDatasetConfig": { + "description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig" + }, + "migrateDataLabelingDatasetConfig": { + "description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig" + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig", + "description": "Config for migrating version in ml.googleapis.com to Vertex AI's Model.", + "type": "object", + "properties": { + "endpoint": { + "description": "Required. The ml.googleapis.com endpoint that this model version should be migrated from. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", + "type": "string" + }, + "modelVersion": { + "description": "Required. Full resource name of ml engine model version. Format: `projects/{project}/models/{model}/versions/{version}`.", + "type": "string" + }, + "modelDisplayName": { + "description": "Required. Display name of the model in Vertex AI. System will pick a display name if unspecified.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig", + "description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", + "type": "object", + "properties": { + "model": { + "description": "Required. Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", + "type": "string" + }, + "modelDisplayName": { + "description": "Optional. Display name of the model in Vertex AI. System will pick a display name if unspecified.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig", + "description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", + "type": "object", + "properties": { + "dataset": { + "description": "Required. Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", + "type": "string" + }, + "datasetDisplayName": { + "description": "Required. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig", + "description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", + "type": "object", + "properties": { + "dataset": { + "description": "Required. Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", + "type": "string" + }, + "datasetDisplayName": { + "description": "Optional. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", + "type": "string" + }, + "migrateDataLabelingAnnotatedDatasetConfigs": { + "description": "Optional. Configs for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified AnnotatedDatasets have to belong to the datalabeling Dataset.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig" + } + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig": { + "id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig", + "description": "Config for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery.", + "type": "object", + "properties": { + "annotatedDataset": { + "description": "Required. Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UploadModelRequest": { + "id": "GoogleCloudAiplatformV1UploadModelRequest", + "description": "Request message for ModelService.UploadModel.", + "type": "object", + "properties": { + "parentModel": { + "description": "Optional. The resource name of the model into which to upload the version. Only specify this field when uploading a new version.", + "type": "string" + }, + "modelId": { + "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", + "type": "string" + }, + "model": { + "description": "Required. The Model to create.", + "$ref": "GoogleCloudAiplatformV1Model" + }, + "serviceAccount": { + "description": "Optional. The user-provided custom service account to use to do the model upload. If empty, [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used to access resources needed to upload the model. This account must belong to the target project where the model is uploaded to, i.e., the project specified in the `parent` field of this request and have necessary read permissions (to Google Cloud Storage, Artifact Registry, etc.).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Model": { + "id": "GoogleCloudAiplatformV1Model", + "description": "A trained machine learning Model.", + "type": "object", + "properties": { + "name": { + "description": "The resource name of the Model.", + "type": "string" + }, + "versionId": { + "description": "Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation.", + "readOnly": true, + "type": "string" + }, + "versionAliases": { + "description": "User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model.", + "type": "array", + "items": { + "type": "string" + } + }, + "versionCreateTime": { + "description": "Output only. Timestamp when this version was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "versionUpdateTime": { + "description": "Output only. Timestamp when this version was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "displayName": { + "description": "Required. The display name of the Model. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the Model.", + "type": "string" + }, + "versionDescription": { + "description": "The description of this version.", + "type": "string" + }, + "defaultCheckpointId": { + "description": "The default checkpoint id of a model version.", + "type": "string" + }, + "predictSchemata": { + "description": "The schemata that describe formats of the Model's predictions and explanations as given and returned via PredictionService.Predict and PredictionService.Explain.", + "$ref": "GoogleCloudAiplatformV1PredictSchemata" + }, + "metadataSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "metadata": { + "description": "Immutable. An additional information about the Model; the schema of the metadata can be found in metadata_schema. Unset if the Model does not have any additional information.", + "type": "any" + }, + "supportedExportFormats": { + "description": "Output only. The formats in which this Model may be exported. If empty, this Model is not available for export.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelExportFormat" + } + }, + "trainingPipeline": { + "description": "Output only. The resource name of the TrainingPipeline that uploaded this Model, if any.", + "readOnly": true, + "type": "string" + }, + "pipelineJob": { + "description": "Optional. This field is populated if the model is produced by a pipeline job.", + "type": "string" + }, + "containerSpec": { + "description": "Input only. The specification of the container that is to be used when deploying this Model. The specification is ingested upon ModelService.UploadModel, and all binaries it contains are copied and stored internally by Vertex AI. Not required for AutoML Models.", + "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" + }, + "artifactUri": { + "description": "Immutable. The path to the directory containing the Model artifact and any of its supporting files. Not required for AutoML Models.", + "type": "string" + }, + "supportedDeploymentResourcesTypes": { + "description": "Output only. When this Model is deployed, its prediction resources are described by the `prediction_resources` field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supported_input_storage_formats and supported_output_storage_formats.", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "Resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", + "Resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", + "Resources that can be shared by multiple DeployedModels. A pre-configured DeploymentResourcePool is required." + ], + "enum": [ + "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED", + "DEDICATED_RESOURCES", + "AUTOMATIC_RESOURCES", + "SHARED_RESOURCES" + ] + } + }, + "supportedInputStorageFormats": { + "description": "Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema. The possible formats are: * `jsonl` The JSON Lines format, where each instance is a single line. Uses GcsSource. * `csv` The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsSource. * `tf-record` The TFRecord format, where each instance is a single record in tfrecord syntax. Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the location of an instance to process, uses `gcs_source` field of the InputConfig object. If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedOutputStorageFormats": { + "description": "Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema). The possible formats are: * `jsonl` The JSON Lines format, where each prediction is a single line. Uses GcsDestination. * `csv` The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsDestination. * `bigquery` Each prediction is a single row in a BigQuery table, uses BigQueryDestination . If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "createTime": { + "description": "Output only. Timestamp when this Model was uploaded into Vertex AI.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Model was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "deployedModels": { + "description": "Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1DeployedModelRef" + } + }, + "explanationSpec": { + "description": "The default explanation specification for this Model. The Model can be used for requesting explanation after being deployed if it is populated. The Model can be used for batch explanation if it is populated. All fields of the explanation_spec can be overridden by explanation_spec of DeployModelRequest.deployed_model, or explanation_spec of BatchPredictionJob. If the default explanation specification is not set for this Model, this Model can still be used for requesting explanation by setting explanation_spec of DeployModelRequest.deployed_model and for batch explanation by setting explanation_spec of BatchPredictionJob.", + "$ref": "GoogleCloudAiplatformV1ExplanationSpec" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dataStats": { + "description": "Stats of data used for training or evaluating the Model. Only populated when the Model is trained by a TrainingPipeline with data_input_config.", + "$ref": "GoogleCloudAiplatformV1ModelDataStats" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a Model. If set, this Model and all sub-resources of this Model will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "modelSourceInfo": { + "description": "Output only. Source of a model. It can either be automl training pipeline, custom training pipeline, BigQuery ML, or saved and tuned from Genie or Model Garden.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelSourceInfo" + }, + "originalModelInfo": { + "description": "Output only. If this Model is a copy of another Model, this contains info about the original.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelOriginalModelInfo" + }, + "metadataArtifact": { + "description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", + "readOnly": true, + "type": "string" + }, + "baseModelSource": { + "description": "Optional. User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", + "$ref": "GoogleCloudAiplatformV1ModelBaseModelSource" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "checkpoints": { + "description": "Optional. Output only. The checkpoints of the model.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Checkpoint" + } + } + } + }, + "GoogleCloudAiplatformV1ModelExportFormat": { + "id": "GoogleCloudAiplatformV1ModelExportFormat", + "description": "Represents export format supported by the Model. All formats export to Google Cloud Storage.", + "type": "object", + "properties": { + "id": { + "description": "Output only. The ID of the export format. The possible format IDs are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript. * `core-ml` Used for iOS mobile devices. * `custom-trained` A Model that was uploaded or trained by custom code. * `genie` A tuned Model Garden model.", + "readOnly": true, + "type": "string" + }, + "exportableContents": { + "description": "Output only. The content of this Model that may be exported.", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "Model artifact and any of its supported files. Will be exported to the location specified by the `artifactDestination` field of the ExportModelRequest.output_config object.", + "The container image that is to be used when deploying this Model. Will be exported to the location specified by the `imageDestination` field of the ExportModelRequest.output_config object." + ], + "enum": [ + "EXPORTABLE_CONTENT_UNSPECIFIED", + "ARTIFACT", + "IMAGE" + ] + } + } + } + }, + "GoogleCloudAiplatformV1ModelDataStats": { + "id": "GoogleCloudAiplatformV1ModelDataStats", + "description": "Stats of data used for train or evaluate the Model.", + "type": "object", + "properties": { + "trainingDataItemsCount": { + "description": "Number of DataItems that were used for training this Model.", + "type": "string", + "format": "int64" + }, + "validationDataItemsCount": { + "description": "Number of DataItems that were used for validating this Model during training.", + "type": "string", + "format": "int64" + }, + "testDataItemsCount": { + "description": "Number of DataItems that were used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test DataItems used by the first evaluation. If the Model is not evaluated, the number is 0.", + "type": "string", + "format": "int64" + }, + "trainingAnnotationsCount": { + "description": "Number of Annotations that are used for training this Model.", + "type": "string", + "format": "int64" + }, + "validationAnnotationsCount": { + "description": "Number of Annotations that are used for validating this Model during training.", + "type": "string", + "format": "int64" + }, + "testAnnotationsCount": { + "description": "Number of Annotations that are used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test Annotations used by the first evaluation. If the Model is not evaluated, the number is 0.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ModelSourceInfo": { + "id": "GoogleCloudAiplatformV1ModelSourceInfo", + "description": "Detail description of the source information of the model.", + "type": "object", + "properties": { + "sourceType": { + "description": "Type of the model source.", + "type": "string", + "enumDescriptions": [ + "Should not be used.", + "The Model is uploaded by automl training pipeline.", + "The Model is uploaded by user or custom training pipeline.", + "The Model is registered and sync'ed from BigQuery ML.", + "The Model is saved or tuned from Model Garden.", + "The Model is saved or tuned from Genie.", + "The Model is uploaded by text embedding finetuning pipeline.", + "The Model is saved or tuned from Marketplace." + ], + "enum": [ + "MODEL_SOURCE_TYPE_UNSPECIFIED", + "AUTOML", + "CUSTOM", + "BQML", + "MODEL_GARDEN", + "GENIE", + "CUSTOM_TEXT_EMBEDDING", + "MARKETPLACE" + ] + }, + "copy": { + "description": "If this Model is copy of another Model. If true then source_type pertains to the original.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ModelOriginalModelInfo": { + "id": "GoogleCloudAiplatformV1ModelOriginalModelInfo", + "description": "Contains information about the original Model if this Model is a copy.", + "type": "object", + "properties": { + "model": { + "description": "Output only. The resource name of the Model this Model is a copy of, including the revision. Format: `projects/{project}/locations/{location}/models/{model_id}@{version_id}`", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ModelBaseModelSource": { + "id": "GoogleCloudAiplatformV1ModelBaseModelSource", + "description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", + "type": "object", + "properties": { + "modelGardenSource": { + "description": "Source information of Model Garden models.", + "$ref": "GoogleCloudAiplatformV1ModelGardenSource" + }, + "genieSource": { + "description": "Information about the base model of Genie models.", + "$ref": "GoogleCloudAiplatformV1GenieSource" + } + } + }, + "GoogleCloudAiplatformV1ModelGardenSource": { + "id": "GoogleCloudAiplatformV1ModelGardenSource", + "description": "Contains information about the source of the models generated from Model Garden.", + "type": "object", + "properties": { + "publicModelName": { + "description": "Required. The model garden source model resource name.", + "type": "string" + }, + "versionId": { + "description": "Optional. The model garden source model version ID.", + "type": "string" + }, + "skipHfModelCache": { + "description": "Optional. Whether to avoid pulling the model from the HF cache.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1GenieSource": { + "id": "GoogleCloudAiplatformV1GenieSource", + "description": "Contains information about the source of the models generated from Generative AI Studio.", + "type": "object", + "properties": { + "baseModelUri": { + "description": "Required. The public base model URI.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Checkpoint": { + "id": "GoogleCloudAiplatformV1Checkpoint", + "description": "Describes the machine learning model version checkpoint.", + "type": "object", + "properties": { + "checkpointId": { + "description": "The ID of the checkpoint.", + "type": "string" + }, + "epoch": { + "description": "The epoch of the checkpoint.", + "type": "string", + "format": "int64" + }, + "step": { + "description": "The step of the checkpoint.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ListModelsResponse": { + "id": "GoogleCloudAiplatformV1ListModelsResponse", + "description": "Response message for ModelService.ListModels", + "type": "object", + "properties": { + "models": { + "description": "List of Models in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Model" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListModelsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListModelVersionsResponse": { + "id": "GoogleCloudAiplatformV1ListModelVersionsResponse", + "description": "Response message for ModelService.ListModelVersions", + "type": "object", + "properties": { + "models": { + "description": "List of Model versions in the requested page. In the returned Model name field, version ID instead of regvision tag will be included.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Model" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListModelVersionsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse": { + "id": "GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse", + "description": "Response message for ModelService.ListModelVersionCheckpoints", + "type": "object", + "properties": { + "checkpoints": { + "description": "List of Model Version checkpoints.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelVersionCheckpoint" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListModelVersionCheckpointsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ModelVersionCheckpoint": { + "id": "GoogleCloudAiplatformV1ModelVersionCheckpoint", + "deprecated": true, + "description": "Describes the machine learning model version checkpoint.", + "type": "object", + "properties": { + "checkpointId": { + "description": "The ID of the checkpoint.", + "type": "string" + }, + "epoch": { + "description": "The epoch of the checkpoint.", + "type": "string", + "format": "int64" + }, + "step": { + "description": "The step of the checkpoint.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest": { + "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest", + "description": "Request message for ModelService.UpdateExplanationDataset.", + "type": "object", + "properties": { + "examples": { + "description": "The example config containing the location of the dataset.", + "$ref": "GoogleCloudAiplatformV1Examples" + } + } + }, + "GoogleCloudAiplatformV1MergeVersionAliasesRequest": { + "id": "GoogleCloudAiplatformV1MergeVersionAliasesRequest", + "description": "Request message for ModelService.MergeVersionAliases.", + "type": "object", + "properties": { + "versionAliases": { + "description": "Required. The set of version aliases to merge. The alias should be at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add the `-` prefix to an alias means removing that alias from the version. `-` is NOT counted in the 128 characters. Example: `-golden` means removing the `golden` alias from the version. There is NO ordering in aliases, which means 1) The aliases returned from GetModel API might not have the exactly same order from this MergeVersionAliases API. 2) Adding and deleting the same alias in the request is not recommended, and the 2 operations will be cancelled out.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ExportModelRequest": { + "id": "GoogleCloudAiplatformV1ExportModelRequest", + "description": "Request message for ModelService.ExportModel.", + "type": "object", + "properties": { + "outputConfig": { + "description": "Required. The desired output location and configuration.", + "$ref": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig" + } + } + }, + "GoogleCloudAiplatformV1ExportModelRequestOutputConfig": { + "id": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig", + "description": "Output configuration for the Model export.", + "type": "object", + "properties": { + "exportFormatId": { + "description": "The ID of the format in which the Model must be exported. Each Model lists the export formats it supports. If no value is provided here, then the first from the list of the Model's supported formats is used by default.", + "type": "string" + }, + "artifactDestination": { + "description": "The Cloud Storage location where the Model artifact is to be written to. Under the directory given as the destination a new one with name \"`model-export--`\", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside, the Model and any of its supporting files will be written. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `ARTIFACT`.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "imageDestination": { + "description": "The Google Container Registry or Artifact Registry uri where the Model container image will be copied to. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `IMAGE`.", + "$ref": "GoogleCloudAiplatformV1ContainerRegistryDestination" + } + } + }, + "GoogleCloudAiplatformV1ContainerRegistryDestination": { + "id": "GoogleCloudAiplatformV1ContainerRegistryDestination", + "description": "The Container Registry location for the container image.", + "type": "object", + "properties": { + "outputUri": { + "description": "Required. Container Registry URI of a container image. Only Google Container Registry and Artifact Registry are supported now. Accepted forms: * Google Container Registry path. For example: `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For example: `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a tag is not specified, \"latest\" will be used as the default tag.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CopyModelRequest": { + "id": "GoogleCloudAiplatformV1CopyModelRequest", + "description": "Request message for ModelService.CopyModel.", + "type": "object", + "properties": { + "modelId": { + "description": "Optional. Copy source_model into a new Model with this ID. The ID will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", + "type": "string" + }, + "parentModel": { + "description": "Optional. Specify this field to copy source_model into this existing Model as a new version. Format: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + }, + "sourceModel": { + "description": "Required. The resource name of the Model to copy. That Model must be in the same Project. Format: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key options. If this is set, then the Model copy will be encrypted with the provided encryption key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + } + } + }, + "GoogleCloudAiplatformV1ImportModelEvaluationRequest": { + "id": "GoogleCloudAiplatformV1ImportModelEvaluationRequest", + "description": "Request message for ModelService.ImportModelEvaluation", + "type": "object", + "properties": { + "modelEvaluation": { + "description": "Required. Model evaluation resource to be imported.", + "$ref": "GoogleCloudAiplatformV1ModelEvaluation" + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluation": { + "id": "GoogleCloudAiplatformV1ModelEvaluation", + "description": "A collection of metrics calculated by comparing Model's predictions on all of the test data against annotations from the test data.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the ModelEvaluation.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the ModelEvaluation.", + "type": "string" + }, + "metricsSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluation. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", + "type": "string" + }, + "metrics": { + "description": "Evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", + "type": "any" + }, + "createTime": { + "description": "Output only. Timestamp when this ModelEvaluation was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "sliceDimensions": { + "description": "All possible dimensions of ModelEvaluationSlices. The dimensions can be used as the filter of the ModelService.ListModelEvaluationSlices request, in the form of `slice.dimension = `.", + "type": "array", + "items": { + "type": "string" + } + }, + "dataItemSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.data_item_payload and EvaluatedAnnotation.data_item_payload. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", + "type": "string" + }, + "annotationSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.predictions, EvaluatedDataItemView.ground_truths, EvaluatedAnnotation.predictions, and EvaluatedAnnotation.ground_truths. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", + "type": "string" + }, + "modelExplanation": { + "description": "Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for AutoML tabular Models. ", + "$ref": "GoogleCloudAiplatformV1ModelExplanation" + }, + "explanationSpecs": { + "description": "Describes the values of ExplanationSpec that are used for explaining the predicted values on the evaluated data.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec" + } + }, + "metadata": { + "description": "The metadata of the ModelEvaluation. For the ModelEvaluation uploaded from Managed Pipeline, metadata contains a structured value with keys of \"pipeline_job_id\", \"evaluation_dataset_type\", \"evaluation_dataset_path\", \"row_based_metrics_path\".", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1ModelExplanation": { + "id": "GoogleCloudAiplatformV1ModelExplanation", + "description": "Aggregated explanation metrics for a Model over a set of instances.", + "type": "object", + "properties": { + "meanAttributions": { + "description": "Output only. Aggregated attributions explaining the Model's prediction outputs over the set of instances. The attributions are grouped by outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. The baselineOutputValue, instanceOutputValue and featureAttributions fields are averaged over the test data. NOTE: Currently AutoML tabular classification Models produce only one attribution, which averages attributions over all the classes it predicts. Attribution.approximation_error is not populated.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Attribution" + } + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec": { + "id": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec", + "type": "object", + "properties": { + "explanationType": { + "description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", + "type": "string" + }, + "explanationSpec": { + "description": "Explanation spec details.", + "$ref": "GoogleCloudAiplatformV1ExplanationSpec" + } + } + }, + "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest": { + "id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest", + "description": "Request message for ModelService.BatchImportModelEvaluationSlices", + "type": "object", + "properties": { + "modelEvaluationSlices": { + "description": "Required. Model evaluation slice resource to be imported.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" + } + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSlice": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSlice", + "description": "A collection of metrics calculated by comparing Model's predictions on a slice of the test data against ground truth annotations.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the ModelEvaluationSlice.", + "readOnly": true, + "type": "string" + }, + "slice": { + "description": "Output only. The slice of the test data that is used to evaluate the Model.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice" + }, + "metricsSchemaUri": { + "description": "Output only. Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluationSlice. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", + "readOnly": true, + "type": "string" + }, + "metrics": { + "description": "Output only. Sliced evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", + "readOnly": true, + "type": "any" + }, + "createTime": { + "description": "Output only. Timestamp when this ModelEvaluationSlice was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "modelExplanation": { + "description": "Output only. Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for tabular Models.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelExplanation" + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSliceSlice": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice", + "description": "Definition of a slice.", + "type": "object", + "properties": { + "dimension": { + "description": "Output only. The dimension of the slice. Well-known dimensions are: * `annotationSpec`: This slice is on the test data that has either ground truth or prediction with AnnotationSpec.display_name equals to value. * `slice`: This slice is a user customized slice defined by its SliceSpec.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. The value of the dimension in this slice.", + "readOnly": true, + "type": "string" + }, + "sliceSpec": { + "description": "Output only. Specification for how the data was sliced.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec" + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec", + "description": "Specification for how the data should be sliced.", + "type": "object", + "properties": { + "configs": { + "description": "Mapping configuration for this SliceSpec. The key is the name of the feature. By default, the key will be prefixed by \"instance\" as a dictionary prefix for Vertex Batch Predictions output format.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig" + } + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig", + "description": "Specification message containing the config for this SliceSpec. When `kind` is selected as `value` and/or `range`, only a single slice will be computed. When `all_values` is present, a separate slice will be computed for each possible label/value for the corresponding key in `config`. Examples, with feature zip_code with values 12345, 23334, 88888 and feature country with values \"US\", \"Canada\", \"Mexico\" in the dataset: Example 1: { \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } A single slice for any data with zip_code 12345 in the dataset. Example 2: { \"zip_code\": { \"range\": { \"low\": 12345, \"high\": 20000 } } } A single slice containing data where the zip_codes between 12345 and 20000 For this example, data with the zip_code of 12345 will be in this slice. Example 3: { \"zip_code\": { \"range\": { \"low\": 10000, \"high\": 20000 } }, \"country\": { \"value\": { \"string_value\": \"US\" } } } A single slice containing data where the zip_codes between 10000 and 20000 has the country \"US\". For this example, data with the zip_code of 12345 and country \"US\" will be in this slice. Example 4: { \"country\": {\"all_values\": { \"value\": true } } } Three slices are computed, one for each unique country in the dataset. Example 5: { \"country\": { \"all_values\": { \"value\": true } }, \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } Three slices are computed, one for each unique country in the dataset where the zip_code is also 12345. For this example, data with zip_code 12345 and country \"US\" will be in one slice, zip_code 12345 and country \"Canada\" in another slice, and zip_code 12345 and country \"Mexico\" in another slice, totaling 3 slices.", + "type": "object", + "properties": { + "value": { + "description": "A unique specific value for a given feature. Example: `{ \"value\": { \"string_value\": \"12345\" } }`", + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue" + }, + "range": { + "description": "A range of values for a numerical feature. Example: `{\"range\":{\"low\":10000.0,\"high\":50000.0}}` will capture 12345 and 23334 in the slice.", + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange" + }, + "allValues": { + "description": "If all_values is set to true, then all possible labels of the keyed feature will have another slice computed. Example: `{\"all_values\":{\"value\":true}}`", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue", + "description": "Single value that supports strings and floats.", + "type": "object", + "properties": { + "stringValue": { + "description": "String type.", + "type": "string" + }, + "floatValue": { + "description": "Float type.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange": { + "id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange", + "description": "A range of values for slice(s). `low` is inclusive, `high` is exclusive.", + "type": "object", + "properties": { + "low": { + "description": "Inclusive low value for the range.", + "type": "number", + "format": "float" + }, + "high": { + "description": "Exclusive high value for the range.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse": { + "id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse", + "description": "Response message for ModelService.BatchImportModelEvaluationSlices", + "type": "object", + "properties": { + "importedModelEvaluationSlices": { + "description": "Output only. List of imported ModelEvaluationSlice.name.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest": { + "id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest", + "description": "Request message for ModelService.BatchImportEvaluatedAnnotations", + "type": "object", + "properties": { + "evaluatedAnnotations": { + "description": "Required. Evaluated annotations resource to be imported.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluatedAnnotation" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluatedAnnotation": { + "id": "GoogleCloudAiplatformV1EvaluatedAnnotation", + "description": "True positive, false positive, or false negative. EvaluatedAnnotation is only available under ModelEvaluationSlice with slice of `annotationSpec` dimension.", + "type": "object", + "properties": { + "type": { + "description": "Output only. Type of the EvaluatedAnnotation.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Invalid value.", + "The EvaluatedAnnotation is a true positive. It has a prediction created by the Model and a ground truth Annotation which the prediction matches.", + "The EvaluatedAnnotation is false positive. It has a prediction created by the Model which does not match any ground truth annotation.", + "The EvaluatedAnnotation is false negative. It has a ground truth annotation which is not matched by any of the model created predictions." + ], + "enum": [ + "EVALUATED_ANNOTATION_TYPE_UNSPECIFIED", + "TRUE_POSITIVE", + "FALSE_POSITIVE", + "FALSE_NEGATIVE" + ] + }, + "predictions": { + "description": "Output only. The model predicted annotations. For true positive, there is one and only one prediction, which matches the only one ground truth annotation in ground_truths. For false positive, there is one and only one prediction, which doesn't match any ground truth annotation of the corresponding data_item_view_id. For false negative, there are zero or more predictions which are similar to the only ground truth annotation in ground_truths but not enough for a match. The schema of the prediction is stored in ModelEvaluation.annotation_schema_uri", + "readOnly": true, + "type": "array", + "items": { + "type": "any" + } + }, + "groundTruths": { + "description": "Output only. The ground truth Annotations, i.e. the Annotations that exist in the test data the Model is evaluated on. For true positive, there is one and only one ground truth annotation, which matches the only prediction in predictions. For false positive, there are zero or more ground truth annotations that are similar to the only prediction in predictions, but not enough for a match. For false negative, there is one and only one ground truth annotation, which doesn't match any predictions created by the model. The schema of the ground truth is stored in ModelEvaluation.annotation_schema_uri", + "readOnly": true, + "type": "array", + "items": { + "type": "any" + } + }, + "dataItemPayload": { + "description": "Output only. The data item payload that the Model predicted this EvaluatedAnnotation on.", + "readOnly": true, + "type": "any" + }, + "evaluatedDataItemViewId": { + "description": "Output only. ID of the EvaluatedDataItemView under the same ancestor ModelEvaluation. The EvaluatedDataItemView consists of all ground truths and predictions on data_item_payload.", + "readOnly": true, + "type": "string" + }, + "explanations": { + "description": "Explanations of predictions. Each element of the explanations indicates the explanation for one explanation Method. The attributions list in the EvaluatedAnnotationExplanation.explanation object corresponds to the predictions list. For example, the second element in the attributions list explains the second element in the predictions list.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation" + } + }, + "errorAnalysisAnnotations": { + "description": "Annotations of model error analysis results.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation" + } + } + } + }, + "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation": { + "id": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation", + "description": "Explanation result of the prediction produced by the Model.", + "type": "object", + "properties": { + "explanationType": { + "description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", + "type": "string" + }, + "explanation": { + "description": "Explanation attribution response details.", + "$ref": "GoogleCloudAiplatformV1Explanation" + } + } + }, + "GoogleCloudAiplatformV1ErrorAnalysisAnnotation": { + "id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation", + "description": "Model error analysis for each annotation.", + "type": "object", + "properties": { + "attributedItems": { + "description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem" + } + }, + "queryType": { + "description": "The query type used for finding the attributed items.", + "type": "string", + "enumDescriptions": [ + "Unspecified query type for model error analysis.", + "Query similar samples across all classes in the dataset.", + "Query similar samples from the same class of the input sample.", + "Query dissimilar samples from the same class of the input sample." + ], + "enum": [ + "QUERY_TYPE_UNSPECIFIED", + "ALL_SIMILAR", + "SAME_CLASS_SIMILAR", + "SAME_CLASS_DISSIMILAR" + ] + }, + "outlierScore": { + "description": "The outlier score of this annotated item. Usually defined as the min of all distances from attributed items.", + "type": "number", + "format": "double" + }, + "outlierThreshold": { + "description": "The threshold used to determine if this annotation is an outlier or not.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem": { + "id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem", + "description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", + "type": "object", + "properties": { + "annotationResourceName": { + "description": "The unique ID for each annotation. Used by FE to allocate the annotation in DB.", + "type": "string" + }, + "distance": { + "description": "The distance of this item to the annotation.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse": { + "id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse", + "description": "Response message for ModelService.BatchImportEvaluatedAnnotations", + "type": "object", + "properties": { + "importedEvaluatedAnnotationsCount": { + "description": "Output only. Number of EvaluatedAnnotations imported.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1ListModelEvaluationsResponse": { + "id": "GoogleCloudAiplatformV1ListModelEvaluationsResponse", + "description": "Response message for ModelService.ListModelEvaluations.", + "type": "object", + "properties": { + "modelEvaluations": { + "description": "List of ModelEvaluations in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelEvaluation" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListModelEvaluationsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse": { + "id": "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse", + "description": "Response message for ModelService.ListModelEvaluationSlices.", + "type": "object", + "properties": { + "modelEvaluationSlices": { + "description": "List of ModelEvaluations in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListModelEvaluationSlicesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NotebookRuntimeTemplate": { + "id": "GoogleCloudAiplatformV1NotebookRuntimeTemplate", + "description": "A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template.", + "type": "object", + "properties": { + "name": { + "description": "The resource name of the NotebookRuntimeTemplate.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the NotebookRuntimeTemplate.", + "type": "string" + }, + "isDefault": { + "description": "Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.", + "readOnly": true, + "deprecated": true, + "type": "boolean" + }, + "machineSpec": { + "description": "Optional. Immutable. The specification of a single machine for the template.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "dataPersistentDiskSpec": { + "description": "Optional. The specification of persistent disk attached to the runtime as data disk storage.", + "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" + }, + "networkSpec": { + "description": "Optional. Network spec.", + "$ref": "GoogleCloudAiplatformV1NetworkSpec" + }, + "serviceAccount": { + "description": "Deprecated: This field is ignored and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", + "deprecated": true, + "type": "string" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "labels": { + "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "idleShutdownConfig": { + "description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled.", + "$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig" + }, + "eucConfig": { + "description": "EUC configuration of the NotebookRuntimeTemplate.", + "$ref": "GoogleCloudAiplatformV1NotebookEucConfig" + }, + "createTime": { + "description": "Output only. Timestamp when this NotebookRuntimeTemplate was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "notebookRuntimeType": { + "description": "Optional. Immutable. The type of the notebook runtime template.", + "type": "string", + "enumDescriptions": [ + "Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", + "runtime or template with coustomized configurations from user.", + "runtime or template with system defined configurations." + ], + "enum": [ + "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", + "USER_DEFINED", + "ONE_CLICK" + ] + }, + "shieldedVmConfig": { + "description": "Optional. Immutable. Runtime Shielded VM spec.", + "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig" + }, + "networkTags": { + "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", + "type": "array", + "items": { + "type": "string" + } + }, + "reservationAffinity": { + "description": "Optional. Reservation Affinity of the notebook runtime template.", + "$ref": "GoogleCloudAiplatformV1NotebookReservationAffinity" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for the notebook runtime.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "softwareConfig": { + "description": "Optional. The notebook software configuration of the notebook runtime.", + "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig" + } + } + }, + "GoogleCloudAiplatformV1PersistentDiskSpec": { + "id": "GoogleCloudAiplatformV1PersistentDiskSpec", + "description": "Represents the spec of persistent disk options.", + "type": "object", + "properties": { + "diskType": { + "description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk)", + "type": "string" + }, + "diskSizeGb": { + "description": "Size in GB of the disk (default is 100GB).", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1NetworkSpec": { + "id": "GoogleCloudAiplatformV1NetworkSpec", + "description": "Network spec.", + "type": "object", + "properties": { + "enableInternetAccess": { + "description": "Whether to enable public internet access. Default false.", + "type": "boolean" + }, + "network": { + "description": "The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)", + "type": "string" + }, + "subnetwork": { + "description": "The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NotebookIdleShutdownConfig": { + "id": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", + "description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", + "type": "object", + "properties": { + "idleTimeout": { + "description": "Required. Duration is accurate to the second. In Notebook, Idle Timeout is accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 * 60.", + "type": "string", + "format": "google-duration" + }, + "idleShutdownDisabled": { + "description": "Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1NotebookEucConfig": { + "id": "GoogleCloudAiplatformV1NotebookEucConfig", + "description": "The euc configuration of NotebookRuntimeTemplate.", + "type": "object", + "properties": { + "eucDisabled": { + "description": "Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. In proto3, the default value of a boolean is false. In this way, by default EUC will be enabled for NotebookRuntimeTemplate.", + "type": "boolean" + }, + "bypassActasCheck": { + "description": "Output only. Whether ActAs check is bypassed for service account attached to the VM. If false, we need ActAs check for the default Compute Engine Service account. When a Runtime is created, a VM is allocated using Default Compute Engine Service Account. Any user requesting to use this Runtime requires Service Account User (ActAs) permission over this SA. If true, Runtime owner is using EUC and does not require the above permission as VM no longer use default Compute Engine SA, but a P4SA.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ShieldedVmConfig": { + "id": "GoogleCloudAiplatformV1ShieldedVmConfig", + "description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).", + "type": "object", + "properties": { + "enableSecureBoot": { + "description": "Defines whether the instance has [Secure Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1NotebookReservationAffinity": { + "id": "GoogleCloudAiplatformV1NotebookReservationAffinity", + "description": "Notebook Reservation Affinity for consuming Zonal reservation.", + "type": "object", + "properties": { + "consumeReservationType": { + "description": "Required. Specifies the type of reservation from which this instance can consume resources: RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE. See Consuming reserved instances for examples.", + "type": "string", + "enumDescriptions": [ + "Default type.", + "Do not consume from any allocated capacity.", + "Consume any reservation available.", + "Must consume from a specific reservation. Must specify key value fields for specifying the reservations." + ], + "enum": [ + "RESERVATION_AFFINITY_TYPE_UNSPECIFIED", + "RESERVATION_NONE", + "RESERVATION_ANY", + "RESERVATION_SPECIFIC" + ] + }, + "key": { + "description": "Optional. Corresponds to the label key of a reservation resource. To target a RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.", + "type": "string" + }, + "values": { + "description": "Optional. Corresponds to the label values of a reservation resource. This must be the full path name of Reservation.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1NotebookSoftwareConfig": { + "id": "GoogleCloudAiplatformV1NotebookSoftwareConfig", + "description": "Notebook Software Config. This is passed to the backend when user makes software configurations in UI.", + "type": "object", + "properties": { + "colabImage": { + "description": "Optional. Google-managed NotebookRuntime colab image.", + "$ref": "GoogleCloudAiplatformV1ColabImage" + }, + "env": { + "description": "Optional. Environment variables to be passed to the container. Maximum limit is 100.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + } + }, + "postStartupScriptConfig": { + "description": "Optional. Post startup script config.", + "$ref": "GoogleCloudAiplatformV1PostStartupScriptConfig" + } + } + }, + "GoogleCloudAiplatformV1ColabImage": { + "id": "GoogleCloudAiplatformV1ColabImage", + "description": "Colab image of the runtime.", + "type": "object", + "properties": { + "releaseName": { + "description": "Optional. The release name of the NotebookRuntime Colab image, e.g. \"py310\". If not specified, detault to the latest release.", + "type": "string" + }, + "description": { + "description": "Output only. A human-readable description of the specified colab image release, populated by the system. Example: \"Python 3.10\", \"Latest - current Python 3.11\"", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PostStartupScriptConfig": { + "id": "GoogleCloudAiplatformV1PostStartupScriptConfig", + "description": "Post startup script config.", + "type": "object", + "properties": { + "postStartupScript": { + "description": "Optional. Post startup script to run after runtime is started.", + "type": "string" + }, + "postStartupScriptUrl": { + "description": "Optional. Post startup script url to download. Example: `gs://bucket/script.sh`", + "type": "string" + }, + "postStartupScriptBehavior": { + "description": "Optional. Post startup script behavior that defines download and execution behavior.", + "type": "string", + "enumDescriptions": [ + "Unspecified post startup script behavior.", + "Run post startup script after runtime is started.", + "Run post startup script after runtime is stopped.", + "Download and run post startup script every time runtime is started." + ], + "enum": [ + "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED", + "RUN_ONCE", + "RUN_EVERY_START", + "DOWNLOAD_AND_RUN_EVERY_START" + ] + } + } + }, + "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse": { + "id": "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse", + "description": "Response message for NotebookService.ListNotebookRuntimeTemplates.", + "type": "object", + "properties": { + "notebookRuntimeTemplates": { + "description": "List of NotebookRuntimeTemplates in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest": { + "id": "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest", + "description": "Request message for NotebookService.AssignNotebookRuntime.", + "type": "object", + "properties": { + "notebookRuntimeTemplate": { + "description": "Required. The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be assigned (reuse or create a new one).", + "type": "string" + }, + "notebookRuntime": { + "description": "Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment.", + "$ref": "GoogleCloudAiplatformV1NotebookRuntime" + }, + "notebookRuntimeId": { + "description": "Optional. User specified ID for the notebook runtime.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NotebookRuntime": { + "id": "GoogleCloudAiplatformV1NotebookRuntime", + "description": "A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the NotebookRuntime.", + "readOnly": true, + "type": "string" + }, + "runtimeUser": { + "description": "Required. The user email of the NotebookRuntime.", + "type": "string" + }, + "notebookRuntimeTemplateRef": { + "description": "Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is created from.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef" + }, + "proxyUri": { + "description": "Output only. The proxy endpoint used to access the NotebookRuntime.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this NotebookRuntime was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "healthState": { + "description": "Output only. The health state of the NotebookRuntime.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified health state.", + "NotebookRuntime is in healthy state. Applies to ACTIVE state.", + "NotebookRuntime is in unhealthy state. Applies to ACTIVE state." + ], + "enum": [ + "HEALTH_STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY" + ] + }, + "displayName": { + "description": "Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "The description of the NotebookRuntime.", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. Deprecated: This field is no longer used and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as.", + "readOnly": true, + "type": "string" + }, + "runtimeState": { + "description": "Output only. The runtime (instance) state of the NotebookRuntime.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified runtime state.", + "NotebookRuntime is in running state.", + "NotebookRuntime is in starting state. This is when the runtime is being started from a stopped state.", + "NotebookRuntime is in stopping state.", + "NotebookRuntime is in stopped state.", + "NotebookRuntime is in upgrading state. It is in the middle of upgrading process.", + "NotebookRuntime was unable to start/stop properly.", + "NotebookRuntime is in invalid state. Cannot be recovered." + ], + "enum": [ + "RUNTIME_STATE_UNSPECIFIED", + "RUNNING", + "BEING_STARTED", + "BEING_STOPPED", + "STOPPED", + "BEING_UPGRADED", + "ERROR", + "INVALID" + ] + }, + "isUpgradable": { + "description": "Output only. Whether NotebookRuntime is upgradable.", + "readOnly": true, + "type": "boolean" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for NotebookRuntime: * \"aiplatform.googleapis.com/notebook_runtime_gce_instance_id\": output only, its value is the Compute Engine instance id. * \"aiplatform.googleapis.com/colab_enterprise_entry_service\": its value is either \"bigquery\" or \"vertex\"; if absent, it should be \"vertex\". This is to describe the entry service, either BigQuery or Vertex.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "expirationTime": { + "description": "Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "version": { + "description": "Output only. The VM os image version of NotebookRuntime.", + "readOnly": true, + "type": "string" + }, + "notebookRuntimeType": { + "description": "Output only. The type of the notebook runtime.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", + "runtime or template with coustomized configurations from user.", + "runtime or template with system defined configurations." + ], + "enum": [ + "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", + "USER_DEFINED", + "ONE_CLICK" + ] + }, + "machineSpec": { + "description": "Output only. The specification of a single machine used by the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "dataPersistentDiskSpec": { + "description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" + }, + "networkSpec": { + "description": "Output only. Network spec of the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NetworkSpec" + }, + "idleShutdownConfig": { + "description": "Output only. The idle shutdown configuration of the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig" + }, + "eucConfig": { + "description": "Output only. EUC configuration of the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NotebookEucConfig" + }, + "shieldedVmConfig": { + "description": "Output only. Runtime Shielded VM spec.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig" + }, + "networkTags": { + "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", + "type": "array", + "items": { + "type": "string" + } + }, + "reservationAffinity": { + "description": "Output only. Reservation Affinity of the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NotebookReservationAffinity" + }, + "softwareConfig": { + "description": "Output only. Software config of the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1NotebookSoftwareConfig" + }, + "encryptionSpec": { + "description": "Output only. Customer-managed encryption key spec for the notebook runtime.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef": { + "id": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef", + "description": "Points to a NotebookRuntimeTemplateRef.", + "type": "object", + "properties": { + "notebookRuntimeTemplate": { + "description": "Immutable. A resource name of the NotebookRuntimeTemplate.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListNotebookRuntimesResponse": { + "id": "GoogleCloudAiplatformV1ListNotebookRuntimesResponse", + "description": "Response message for NotebookService.ListNotebookRuntimes.", + "type": "object", + "properties": { + "notebookRuntimes": { + "description": "List of NotebookRuntimes in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NotebookRuntime" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListNotebookRuntimesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest": { + "id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest", + "description": "Request message for NotebookService.UpgradeNotebookRuntime.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1StartNotebookRuntimeRequest": { + "id": "GoogleCloudAiplatformV1StartNotebookRuntimeRequest", + "description": "Request message for NotebookService.StartNotebookRuntime.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1StopNotebookRuntimeRequest": { + "id": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest", + "description": "Request message for NotebookService.StopNotebookRuntime.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1NotebookExecutionJob": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJob", + "description": "NotebookExecutionJob represents an instance of a notebook execution.", + "type": "object", + "properties": { + "dataformRepositorySource": { + "description": "The Dataform Repository pointing to a single file notebook repository.", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource" + }, + "gcsNotebookSource": { + "description": "The Cloud Storage url pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource" + }, + "directNotebookSource": { + "description": "The contents of an input notebook file.", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource" + }, + "notebookRuntimeTemplateResourceName": { + "description": "The NotebookRuntimeTemplate to source compute configuration from.", + "type": "string" + }, + "customEnvironmentSpec": { + "description": "The custom compute configuration for an execution job.", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec" + }, + "gcsOutputUri": { + "description": "The Cloud Storage location to upload the result to. Format: `gs://bucket-name`", + "type": "string" + }, + "executionUser": { + "description": "The user email to run the execution as. Only supported by Colab runtimes.", + "type": "string" + }, + "serviceAccount": { + "description": "The service account to run the execution as.", + "type": "string" + }, + "workbenchRuntime": { + "description": "The Workbench runtime configuration to use for the notebook execution.", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime" + }, + "name": { + "description": "Output only. The resource name of this NotebookExecutionJob. Format: `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the NotebookExecutionJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "executionTimeout": { + "description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", + "type": "string", + "format": "google-duration" + }, + "scheduleResourceName": { + "description": "The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", + "type": "string" + }, + "jobState": { + "description": "Output only. The state of the NotebookExecutionJob.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The job state is unspecified.", + "The job has been just created or resumed and processing has not yet begun.", + "The service is preparing to run the job.", + "The job is in progress.", + "The job completed successfully.", + "The job failed.", + "The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", + "The job has been cancelled.", + "The job has been stopped, and can be resumed.", + "The job has expired.", + "The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", + "The job is partially succeeded, some results may be missing due to errors." + ], + "enum": [ + "JOB_STATE_UNSPECIFIED", + "JOB_STATE_QUEUED", + "JOB_STATE_PENDING", + "JOB_STATE_RUNNING", + "JOB_STATE_SUCCEEDED", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLING", + "JOB_STATE_CANCELLED", + "JOB_STATE_PAUSED", + "JOB_STATE_EXPIRED", + "JOB_STATE_UPDATING", + "JOB_STATE_PARTIALLY_SUCCEEDED" + ] + }, + "status": { + "description": "Output only. Populated when the NotebookExecutionJob is completed. When there is an error during notebook execution, the error details are populated.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "createTime": { + "description": "Output only. Timestamp when this NotebookExecutionJob was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this NotebookExecutionJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "kernelName": { + "description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", + "type": "string" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + } + } + }, + "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource", + "description": "The Dataform Repository containing the input notebook.", + "type": "object", + "properties": { + "dataformRepositoryResourceName": { + "description": "The resource name of the Dataform Repository. Format: `projects/{project_id}/locations/{location}/repositories/{repository_id}`", + "type": "string" + }, + "commitSha": { + "description": "The commit SHA to read repository with. If unset, the file will be read at HEAD.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource", + "description": "The Cloud Storage uri for the input notebook.", + "type": "object", + "properties": { + "uri": { + "description": "The Cloud Storage uri pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", + "type": "string" + }, + "generation": { + "description": "The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource", + "description": "The content of the input notebook in ipynb format.", + "type": "object", + "properties": { + "content": { + "description": "The base64-encoded contents of the input notebook file.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", + "description": "Compute configuration to use for an execution job.", + "type": "object", + "properties": { + "machineSpec": { + "description": "The specification of a single machine for the execution job.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "persistentDiskSpec": { + "description": "The specification of a persistent disk to attach for the execution job.", + "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec" + }, + "networkSpec": { + "description": "The network configuration to use for the execution job.", + "$ref": "GoogleCloudAiplatformV1NetworkSpec" + } + } + }, + "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime": { + "id": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", + "description": "Configuration for a Workbench Instances-based environment.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse": { + "id": "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse", + "description": "Response message for [NotebookService.CreateNotebookExecutionJob]", + "type": "object", + "properties": { + "notebookExecutionJobs": { + "description": "List of NotebookExecutionJobs in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PersistentResource": { + "id": "GoogleCloudAiplatformV1PersistentResource", + "description": "Represents long-lasting resources that are dedicated to users to runs custom workloads. A PersistentResource can have multiple node pools and each node pool can have its own machine spec.", + "type": "object", + "properties": { + "name": { + "description": "Immutable. Resource name of a PersistentResource.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the PersistentResource. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "resourcePools": { + "description": "Required. The spec of the pools of different resources.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ResourcePool" + } + }, + "state": { + "description": "Output only. The detailed state of a Study.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Not set.", + "The PROVISIONING state indicates the persistent resources is being created.", + "The RUNNING state indicates the persistent resource is healthy and fully usable.", + "The STOPPING state indicates the persistent resource is being deleted.", + "The ERROR state indicates the persistent resource may be unusable. Details can be found in the `error` field.", + "The REBOOTING state indicates the persistent resource is being rebooted (PR is not available right now but is expected to be ready again later).", + "The UPDATING state indicates the persistent resource is being updated." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "STOPPING", + "ERROR", + "REBOOTING", + "UPDATING" + ] + }, + "error": { + "description": "Output only. Only populated when persistent resource's state is `STOPPING` or `ERROR`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "createTime": { + "description": "Output only. Time when the PersistentResource was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the PersistentResource for the first time entered the `RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the PersistentResource was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "network": { + "description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to peered with Vertex AI to host the persistent resources. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the resources aren't peered with any network.", + "type": "string" + }, + "pscInterfaceConfig": { + "description": "Optional. Configuration for PSC-I for PersistentResource.", + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" + }, + "encryptionSpec": { + "description": "Optional. Customer-managed encryption key spec for a PersistentResource. If set, this PersistentResource and all sub-resources of this PersistentResource will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "resourceRuntimeSpec": { + "description": "Optional. Persistent Resource runtime spec. For example, used for Ray cluster configuration.", + "$ref": "GoogleCloudAiplatformV1ResourceRuntimeSpec" + }, + "resourceRuntime": { + "description": "Output only. Runtime information of the Persistent Resource.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ResourceRuntime" + }, + "reservedIpRanges": { + "description": "Optional. A list of names for the reserved IP ranges under the VPC network that can be used for this persistent resource. If set, we will deploy the persistent resource within the provided IP ranges. Otherwise, the persistent resource is deployed to any IP ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", + "type": "array", + "items": { + "type": "string" + } + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ResourcePool": { + "id": "GoogleCloudAiplatformV1ResourcePool", + "description": "Represents the spec of a group of resources of the same type, for example machine type, disk, and accelerators, in a PersistentResource.", + "type": "object", + "properties": { + "id": { + "description": "Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically.", + "type": "string" + }, + "machineSpec": { + "description": "Required. Immutable. The specification of a single machine.", + "$ref": "GoogleCloudAiplatformV1MachineSpec" + }, + "replicaCount": { + "description": "Optional. The total number of machines to use for this resource pool.", + "type": "string", + "format": "int64" + }, + "diskSpec": { + "description": "Optional. Disk spec for the machine in this node pool.", + "$ref": "GoogleCloudAiplatformV1DiskSpec" + }, + "usedReplicaCount": { + "description": "Output only. The number of machines currently in use by training jobs for this resource pool. Will replace idle_replica_count.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "autoscalingSpec": { + "description": "Optional. Optional spec to configure GKE or Ray-on-Vertex autoscaling", + "$ref": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec" + } + } + }, + "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec": { + "id": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec", + "description": "The min/max number of replicas allowed if enabling autoscaling", + "type": "object", + "properties": { + "minReplicaCount": { + "description": "Optional. min replicas in the node pool, must be ≤ replica_count and \u003c max_replica_count or will throw error. For autoscaling enabled Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0 to match the OSS Ray behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). As for Persistent Resource, the min_replica_count must be \u003e 0, we added a corresponding validation inside CreatePersistentResourceRequestValidator.java.", + "type": "string", + "format": "int64" + }, + "maxReplicaCount": { + "description": "Optional. max replicas in the node pool, must be ≥ replica_count and \u003e min_replica_count or will throw error", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ResourceRuntimeSpec": { + "id": "GoogleCloudAiplatformV1ResourceRuntimeSpec", + "description": "Configuration for the runtime on a PersistentResource instance, including but not limited to: * Service accounts used to run the workloads. * Whether to make it a dedicated Ray Cluster.", + "type": "object", + "properties": { + "serviceAccountSpec": { + "description": "Optional. Configure the use of workload identity on the PersistentResource", + "$ref": "GoogleCloudAiplatformV1ServiceAccountSpec" + }, + "raySpec": { + "description": "Optional. Ray cluster configuration. Required when creating a dedicated RayCluster on the PersistentResource.", + "$ref": "GoogleCloudAiplatformV1RaySpec" + } + } + }, + "GoogleCloudAiplatformV1ServiceAccountSpec": { + "id": "GoogleCloudAiplatformV1ServiceAccountSpec", + "description": "Configuration for the use of custom service account to run the workloads.", + "type": "object", + "properties": { + "enableCustomServiceAccount": { + "description": "Required. If true, custom user-managed service account is enforced to run any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", + "type": "boolean" + }, + "serviceAccount": { + "description": "Optional. Required when all below conditions are met * `enable_custom_service_account` is true; * any runtime is specified via `ResourceRuntimeSpec` on creation time, for example, Ray The users must have `iam.serviceAccounts.actAs` permission on this service account and then the specified runtime containers will run as it. Do not set this field if you want to submit jobs using custom service account to this PersistentResource after creation, but only specify the `service_account` inside the job.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RaySpec": { + "id": "GoogleCloudAiplatformV1RaySpec", + "description": "Configuration information for the Ray cluster. For experimental launch, Ray cluster creation and Persistent cluster creation are 1:1 mapping: We will provision all the nodes within the Persistent cluster as Ray nodes.", + "type": "object", + "properties": { + "imageUri": { + "description": "Optional. Default image for user to choose a preferred ML framework (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). Either this or the resource_pool_images is required. Use this field if you need all the resource pools to have the same Ray image. Otherwise, use the {@code resource_pool_images} field.", + "type": "string" + }, + "resourcePoolImages": { + "description": "Optional. Required if image_uri isn't set. A map of resource_pool_id to prebuild Ray image if user need to use different images for different head/worker pools. This map needs to cover all the resource pool ids. Example: { \"ray_head_node_pool\": \"head image\" \"ray_worker_node_pool1\": \"worker image\" \"ray_worker_node_pool2\": \"another worker image\" }", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "headNodeResourcePoolId": { + "description": "Optional. This will be used to indicate which resource pool will serve as the Ray head node(the first node within that pool). Will use the machine from the first workerpool as the head node by default if this field isn't set.", + "type": "string" + }, + "rayMetricSpec": { + "description": "Optional. Ray metrics configurations.", + "$ref": "GoogleCloudAiplatformV1RayMetricSpec" + }, + "rayLogsSpec": { + "description": "Optional. OSS Ray logging configurations.", + "$ref": "GoogleCloudAiplatformV1RayLogsSpec" + } + } + }, + "GoogleCloudAiplatformV1RayMetricSpec": { + "id": "GoogleCloudAiplatformV1RayMetricSpec", + "description": "Configuration for the Ray metrics.", + "type": "object", + "properties": { + "disabled": { + "description": "Optional. Flag to disable the Ray metrics collection.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1RayLogsSpec": { + "id": "GoogleCloudAiplatformV1RayLogsSpec", + "description": "Configuration for the Ray OSS Logs.", + "type": "object", + "properties": { + "disabled": { + "description": "Optional. Flag to disable the export of Ray OSS logs to Cloud Logging.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ResourceRuntime": { + "id": "GoogleCloudAiplatformV1ResourceRuntime", + "description": "Persistent Cluster runtime information as output", + "type": "object", + "properties": { + "accessUris": { + "description": "Output only. URIs for user to connect to the Cluster. Example: { \"RAY_HEAD_NODE_INTERNAL_IP\": \"head-node-IP:10001\" \"RAY_DASHBOARD_URI\": \"ray-dashboard-address:8888\" }", + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ListPersistentResourcesResponse": { + "id": "GoogleCloudAiplatformV1ListPersistentResourcesResponse", + "description": "Response message for PersistentResourceService.ListPersistentResources", + "type": "object", + "properties": { + "persistentResources": { + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PersistentResource" + } + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass to ListPersistentResourcesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RebootPersistentResourceRequest": { + "id": "GoogleCloudAiplatformV1RebootPersistentResourceRequest", + "description": "Request message for PersistentResourceService.RebootPersistentResource.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1TrainingPipeline": { + "id": "GoogleCloudAiplatformV1TrainingPipeline", + "description": "The TrainingPipeline orchestrates tasks associated with training a Model. It always executes the training task, and optionally may also export data from Vertex AI's Dataset which becomes the training input, upload the Model to Vertex AI, and evaluate the Model.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Resource name of the TrainingPipeline.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of this TrainingPipeline.", + "type": "string" + }, + "inputDataConfig": { + "description": "Specifies Vertex AI owned input data that may be used for training the Model. The TrainingPipeline's training_task_definition should make clear whether this config is used and if there are any special requirements on how it should be filled. If nothing about this config is mentioned in the training_task_definition, then it should be assumed that the TrainingPipeline does not depend on this configuration.", + "$ref": "GoogleCloudAiplatformV1InputDataConfig" + }, + "trainingTaskDefinition": { + "description": "Required. A Google Cloud Storage path to the YAML file that defines the training task which is responsible for producing the model artifact, and may also include additional auxiliary work. The definition files that can be used here are found in gs://google-cloud-aiplatform/schema/trainingjob/definition/. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", + "type": "string" + }, + "trainingTaskInputs": { + "description": "Required. The training task's parameter(s), as specified in the training_task_definition's `inputs`.", + "type": "any" + }, + "trainingTaskMetadata": { + "description": "Output only. The metadata information as specified in the training_task_definition's `metadata`. This metadata is an auxiliary runtime and final information about the training task. While the pipeline is running this information is populated only at a best effort basis. Only present if the pipeline's training_task_definition contains `metadata` object.", + "readOnly": true, + "type": "any" + }, + "modelToUpload": { + "description": "Describes the Model that may be uploaded (via ModelService.UploadModel) by this TrainingPipeline. The TrainingPipeline's training_task_definition should make clear whether this Model description should be populated, and if there are any special requirements regarding how it should be filled. If nothing is mentioned in the training_task_definition, then it should be assumed that this field should not be filled and the training task either uploads the Model without a need of this information, or that training task does not support uploading a Model as part of the pipeline. When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and the trained Model had been uploaded into Vertex AI, then the model_to_upload's resource name is populated. The Model is always uploaded into the Project and Location in which this pipeline is.", + "$ref": "GoogleCloudAiplatformV1Model" + }, + "modelId": { + "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", + "type": "string" + }, + "parentModel": { + "description": "Optional. When specify this field, the `model_to_upload` will not be uploaded as a new model, instead, it will become a new version of this `parent_model`.", + "type": "string" + }, + "state": { + "description": "Output only. The detailed state of the pipeline.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The pipeline state is unspecified.", + "The pipeline has been created or resumed, and processing has not yet begun.", + "The service is preparing to run the pipeline.", + "The pipeline is in progress.", + "The pipeline completed successfully.", + "The pipeline failed.", + "The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", + "The pipeline has been cancelled.", + "The pipeline has been stopped, and can be resumed." + ], + "enum": [ + "PIPELINE_STATE_UNSPECIFIED", + "PIPELINE_STATE_QUEUED", + "PIPELINE_STATE_PENDING", + "PIPELINE_STATE_RUNNING", + "PIPELINE_STATE_SUCCEEDED", + "PIPELINE_STATE_FAILED", + "PIPELINE_STATE_CANCELLING", + "PIPELINE_STATE_CANCELLED", + "PIPELINE_STATE_PAUSED" + ] + }, + "error": { + "description": "Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "createTime": { + "description": "Output only. Time when the TrainingPipeline was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Time when the TrainingPipeline for the first time entered the `PIPELINE_STATE_RUNNING` state.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Time when the TrainingPipeline entered any of the following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the TrainingPipeline was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a TrainingPipeline. If set, this TrainingPipeline will be secured by this key. Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + } + } + }, + "GoogleCloudAiplatformV1InputDataConfig": { + "id": "GoogleCloudAiplatformV1InputDataConfig", + "description": "Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model.", + "type": "object", + "properties": { + "fractionSplit": { + "description": "Split based on fractions defining the size of each set.", + "$ref": "GoogleCloudAiplatformV1FractionSplit" + }, + "filterSplit": { + "description": "Split based on the provided filters for each set.", + "$ref": "GoogleCloudAiplatformV1FilterSplit" + }, + "predefinedSplit": { + "description": "Supported only for tabular Datasets. Split based on a predefined key.", + "$ref": "GoogleCloudAiplatformV1PredefinedSplit" + }, + "timestampSplit": { + "description": "Supported only for tabular Datasets. Split based on the timestamp of the input data pieces.", + "$ref": "GoogleCloudAiplatformV1TimestampSplit" + }, + "stratifiedSplit": { + "description": "Supported only for tabular Datasets. Split based on the distribution of the specified column.", + "$ref": "GoogleCloudAiplatformV1StratifiedSplit" + }, + "gcsDestination": { + "description": "The Cloud Storage location where the training data is to be written to. In the given directory a new directory is created with name: `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All training input data is written into that directory. The Vertex AI environment variables representing Cloud Storage data URIs are represented in the Cloud Storage wildcard format to support sharded data. e.g.: \"gs://.../training-*.jsonl\" * AIP_DATA_FORMAT = \"jsonl\" for non-tabular data, \"csv\" for tabular data * AIP_TRAINING_DATA_URI = \"gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}\" * AIP_VALIDATION_DATA_URI = \"gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}\" * AIP_TEST_DATA_URI = \"gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}\"", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "bigqueryDestination": { + "description": "Only applicable to custom training with tabular Dataset with BigQuery source. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name `dataset___` where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written into that dataset. In the dataset three tables are created, `training`, `validation` and `test`. * AIP_DATA_FORMAT = \"bigquery\". * AIP_TRAINING_DATA_URI = \"bigquery_destination.dataset___.training\" * AIP_VALIDATION_DATA_URI = \"bigquery_destination.dataset___.validation\" * AIP_TEST_DATA_URI = \"bigquery_destination.dataset___.test\"", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "datasetId": { + "description": "Required. The ID of the Dataset in the same Project and Location which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline's training_task_definition. For tabular Datasets, all their data is exported to training, to pick and choose from.", + "type": "string" + }, + "annotationsFilter": { + "description": "Applicable only to Datasets that have DataItems and Annotations. A filter on Annotations of the Dataset. Only Annotations that both match this filter and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on (for the auto-assigned that role is decided by Vertex AI). A filter with same syntax as the one used in ListAnnotations may be used, but note here it filters across all Annotations of the Dataset, and not just within a single DataItem.", + "type": "string" + }, + "annotationSchemaUri": { + "description": "Applicable only to custom training with Datasets that have DataItems and Annotations. Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/ , note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", + "type": "string" + }, + "savedQueryId": { + "description": "Only applicable to Datasets that have SavedQueries. The ID of a SavedQuery (annotation set) under the Dataset specified by dataset_id used for filtering Annotations for training. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", + "type": "string" + }, + "persistMlUseAssignment": { + "description": "Whether to persist the ML use assignment to data item system labels.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1FractionSplit": { + "id": "GoogleCloudAiplatformV1FractionSplit", + "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", + "type": "object", + "properties": { + "trainingFraction": { + "description": "The fraction of the input data that is to be used to train the Model.", + "type": "number", + "format": "double" + }, + "validationFraction": { + "description": "The fraction of the input data that is to be used to validate the Model.", + "type": "number", + "format": "double" + }, + "testFraction": { + "description": "The fraction of the input data that is to be used to evaluate the Model.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1FilterSplit": { + "id": "GoogleCloudAiplatformV1FilterSplit", + "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets. ", + "type": "object", + "properties": { + "trainingFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + }, + "validationFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + }, + "testFilter": { + "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PredefinedSplit": { + "id": "GoogleCloudAiplatformV1PredefinedSplit", + "description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", + "type": "object", + "properties": { + "key": { + "description": "Required. The key is a name of one of the Dataset's data columns. The value of the key (either the label's value or value in the column) must be one of {`training`, `validation`, `test`}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TimestampSplit": { + "id": "GoogleCloudAiplatformV1TimestampSplit", + "description": "Assigns input data to training, validation, and test sets based on a provided timestamps. The youngest data pieces are assigned to training set, next to validation set, and the oldest to the test set. Supported only for tabular Datasets.", + "type": "object", + "properties": { + "trainingFraction": { + "description": "The fraction of the input data that is to be used to train the Model.", + "type": "number", + "format": "double" + }, + "validationFraction": { + "description": "The fraction of the input data that is to be used to validate the Model.", + "type": "number", + "format": "double" + }, + "testFraction": { + "description": "The fraction of the input data that is to be used to evaluate the Model.", + "type": "number", + "format": "double" + }, + "key": { + "description": "Required. The key is a name of one of the Dataset's data columns. The values of the key (the values in the column) must be in RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1StratifiedSplit": { + "id": "GoogleCloudAiplatformV1StratifiedSplit", + "description": "Assigns input data to the training, validation, and test sets so that the distribution of values found in the categorical column (as specified by the `key` field) is mirrored within each split. The fraction values determine the relative sizes of the splits. For example, if the specified column has three values, with 50% of the rows having value \"A\", 25% value \"B\", and 25% value \"C\", and the split fractions are specified as 80/10/10, then the training set will constitute 80% of the training data, with about 50% of the training set rows having the value \"A\" for the specified column, about 25% having the value \"B\", and about 25% having the value \"C\". Only the top 500 occurring values are used; any values not in the top 500 values are randomly assigned to a split. If less than three rows contain a specific value, those rows are randomly assigned. Supported only for tabular Datasets.", + "type": "object", + "properties": { + "trainingFraction": { + "description": "The fraction of the input data that is to be used to train the Model.", + "type": "number", + "format": "double" + }, + "validationFraction": { + "description": "The fraction of the input data that is to be used to validate the Model.", + "type": "number", + "format": "double" + }, + "testFraction": { + "description": "The fraction of the input data that is to be used to evaluate the Model.", + "type": "number", + "format": "double" + }, + "key": { + "description": "Required. The key is a name of one of the Dataset's data columns. The key provided must be for a categorical column.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListTrainingPipelinesResponse": { + "id": "GoogleCloudAiplatformV1ListTrainingPipelinesResponse", + "description": "Response message for PipelineService.ListTrainingPipelines", + "type": "object", + "properties": { + "trainingPipelines": { + "description": "List of TrainingPipelines in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrainingPipeline" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListTrainingPipelinesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CancelTrainingPipelineRequest": { + "id": "GoogleCloudAiplatformV1CancelTrainingPipelineRequest", + "description": "Request message for PipelineService.CancelTrainingPipeline.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1PipelineJob": { + "id": "GoogleCloudAiplatformV1PipelineJob", + "description": "An instance of a machine learning PipelineJob.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the PipelineJob.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "createTime": { + "description": "Output only. Pipeline creation time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Pipeline start time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Pipeline end time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this PipelineJob was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "pipelineSpec": { + "description": "The spec of the pipeline.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "state": { + "description": "Output only. The detailed state of the job.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The pipeline state is unspecified.", + "The pipeline has been created or resumed, and processing has not yet begun.", + "The service is preparing to run the pipeline.", + "The pipeline is in progress.", + "The pipeline completed successfully.", + "The pipeline failed.", + "The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", + "The pipeline has been cancelled.", + "The pipeline has been stopped, and can be resumed." + ], + "enum": [ + "PIPELINE_STATE_UNSPECIFIED", + "PIPELINE_STATE_QUEUED", + "PIPELINE_STATE_PENDING", + "PIPELINE_STATE_RUNNING", + "PIPELINE_STATE_SUCCEEDED", + "PIPELINE_STATE_FAILED", + "PIPELINE_STATE_CANCELLING", + "PIPELINE_STATE_CANCELLED", + "PIPELINE_STATE_PAUSED" + ] + }, + "jobDetail": { + "description": "Output only. The details of pipeline run. Not available in the list view.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PipelineJobDetail" + }, + "error": { + "description": "Output only. The error that occurred during pipeline execution. Only populated when the pipeline's state is FAILED or CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "labels": { + "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "runtimeConfig": { + "description": "Runtime config of the pipeline.", + "$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a pipelineJob. If set, this PipelineJob and all of its sub-resources will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "serviceAccount": { + "description": "The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, + "network": { + "description": "The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.", + "type": "string" + }, + "reservedIpRanges": { + "description": "A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", + "type": "array", + "items": { + "type": "string" + } + }, + "pscInterfaceConfig": { + "description": "Optional. Configuration for PSC-I for PipelineJob.", + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" + }, + "templateUri": { + "description": "A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.", + "type": "string" + }, + "templateMetadata": { + "description": "Output only. Pipeline template metadata. Will fill up fields if PipelineJob.template_uri is from supported template registry.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PipelineTemplateMetadata" + }, + "scheduleName": { + "description": "Output only. The schedule resource name. Only returned if the Pipeline is created by Schedule API.", + "readOnly": true, + "type": "string" + }, + "preflightValidations": { + "description": "Optional. Whether to do component level validations before job creation.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1PipelineJobDetail": { + "id": "GoogleCloudAiplatformV1PipelineJobDetail", + "description": "The runtime detail of PipelineJob.", + "type": "object", + "properties": { + "pipelineContext": { + "description": "Output only. The context of the pipeline.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Context" + }, + "pipelineRunContext": { + "description": "Output only. The context of the current pipeline run.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Context" + }, + "taskDetails": { + "description": "Output only. The runtime details of the tasks under the pipeline.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PipelineTaskDetail" + } + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskDetail": { + "id": "GoogleCloudAiplatformV1PipelineTaskDetail", + "description": "The runtime detail of a task execution.", + "type": "object", + "properties": { + "taskId": { + "description": "Output only. The system generated ID of the task.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "parentTaskId": { + "description": "Output only. The id of the parent task if the task is within a component scope. Empty if the task is at the root level.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "taskName": { + "description": "Output only. The user specified name of the task that is defined in pipeline_spec.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Task create time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "startTime": { + "description": "Output only. Task start time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. Task end time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "executorDetail": { + "description": "Output only. The detailed execution info.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail" + }, + "state": { + "description": "Output only. State of the task.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Specifies pending state for the task.", + "Specifies task is being executed.", + "Specifies task completed successfully.", + "Specifies Task cancel is in pending state.", + "Specifies task is being cancelled.", + "Specifies task was cancelled.", + "Specifies task failed.", + "Specifies task was skipped due to cache hit.", + "Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "CANCEL_PENDING", + "CANCELLING", + "CANCELLED", + "FAILED", + "SKIPPED", + "NOT_TRIGGERED" + ] + }, + "execution": { + "description": "Output only. The execution metadata of the task.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1Execution" + }, + "error": { + "description": "Output only. The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + }, + "pipelineTaskStatus": { + "description": "Output only. A list of task status. This field keeps a record of task status evolving over time.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus" + } + }, + "inputs": { + "description": "Output only. The runtime input artifacts of the task.", + "readOnly": true, + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" + } + }, + "outputs": { + "description": "Output only. The runtime output artifacts of the task.", + "readOnly": true, + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" + } + }, + "taskUniqueName": { + "description": "Output only. The unique name of a task. This field is used by rerun pipeline job. Console UI and Vertex AI SDK will support triggering pipeline job reruns. The name is constructed by concatenating all the parent tasks name with the task name. For example, if a task named \"child_task\" has a parent task named \"parent_task_1\" and parent task 1 has a parent task named \"parent_task_2\", the task unique name will be \"parent_task_2.parent_task_1.child_task\".", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskExecutorDetail": { + "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail", + "description": "The runtime detail of a pipeline executor.", + "type": "object", + "properties": { + "containerDetail": { + "description": "Output only. The detailed info for a container executor.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail" + }, + "customJobDetail": { + "description": "Output only. The detailed info for a custom job executor.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail" + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail": { + "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail", + "description": "The detail of a container execution. It contains the job names of the lifecycle of a container execution.", + "type": "object", + "properties": { + "mainJob": { + "description": "Output only. The name of the CustomJob for the main container execution.", + "readOnly": true, + "type": "string" + }, + "preCachingCheckJob": { + "description": "Output only. The name of the CustomJob for the pre-caching-check container execution. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events.", + "readOnly": true, + "type": "string" + }, + "failedMainJobs": { + "description": "Output only. The names of the previously failed CustomJob for the main container executions. The list includes the all attempts in chronological order.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "failedPreCachingCheckJobs": { + "description": "Output only. The names of the previously failed CustomJob for the pre-caching-check container executions. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events. The list includes the all attempts in chronological order.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail": { + "id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail", + "description": "The detailed info for a custom job executor.", + "type": "object", + "properties": { + "job": { + "description": "Output only. The name of the CustomJob.", + "readOnly": true, + "type": "string" + }, + "failedJobs": { + "description": "Output only. The names of the previously failed CustomJob. The list includes the all attempts in chronological order.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus": { + "id": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus", + "description": "A single record of the task status.", + "type": "object", + "properties": { + "updateTime": { + "description": "Output only. Update time of this status.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "state": { + "description": "Output only. The state of the task.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Specifies pending state for the task.", + "Specifies task is being executed.", + "Specifies task completed successfully.", + "Specifies Task cancel is in pending state.", + "Specifies task is being cancelled.", + "Specifies task was cancelled.", + "Specifies task failed.", + "Specifies task was skipped due to cache hit.", + "Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "CANCEL_PENDING", + "CANCELLING", + "CANCELLED", + "FAILED", + "SKIPPED", + "NOT_TRIGGERED" + ] + }, + "error": { + "description": "Output only. The error that occurred during the state. May be set when the state is any of the non-final state (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is FAILED, the error here is final and not going to be retried. If the state is a non-final state, the error indicates a system-error being retried.", + "readOnly": true, + "$ref": "GoogleRpcStatus" + } + } + }, + "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList": { + "id": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList", + "description": "A list of artifact metadata.", + "type": "object", + "properties": { + "artifacts": { + "description": "Output only. A list of artifact metadata.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Artifact" + } + } + } + }, + "GoogleCloudAiplatformV1PipelineJobRuntimeConfig": { + "id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig", + "description": "The runtime config of a PipelineJob.", + "type": "object", + "properties": { + "parameters": { + "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", + "deprecated": true, + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1Value" + } + }, + "gcsOutputDirectory": { + "description": "Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket.", + "type": "string" + }, + "parameterValues": { + "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.", + "type": "object", + "additionalProperties": { + "type": "any" + } + }, + "failurePolicy": { + "description": "Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion.", + "type": "string", + "enumDescriptions": [ + "Default value, and follows fail slow behavior.", + "Indicates that the pipeline should continue to run until all possible tasks have been scheduled and completed.", + "Indicates that the pipeline should stop scheduling new tasks after a task has failed." + ], + "enum": [ + "PIPELINE_FAILURE_POLICY_UNSPECIFIED", + "PIPELINE_FAILURE_POLICY_FAIL_SLOW", + "PIPELINE_FAILURE_POLICY_FAIL_FAST" + ] + }, + "inputArtifacts": { + "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact" + } + } + } + }, + "GoogleCloudAiplatformV1Value": { + "id": "GoogleCloudAiplatformV1Value", + "description": "Value is the value of the field.", + "type": "object", + "properties": { + "intValue": { + "description": "An integer value.", + "type": "string", + "format": "int64" + }, + "doubleValue": { + "description": "A double value.", + "type": "number", + "format": "double" + }, + "stringValue": { + "description": "A string value.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact": { + "id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact", + "description": "The type of an input artifact.", + "type": "object", + "properties": { + "artifactId": { + "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PipelineTemplateMetadata": { + "id": "GoogleCloudAiplatformV1PipelineTemplateMetadata", + "description": "Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry.", + "type": "object", + "properties": { + "version": { + "description": "The version_name in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is \"sha256:abcdef123456...\".", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListPipelineJobsResponse": { + "id": "GoogleCloudAiplatformV1ListPipelineJobsResponse", + "description": "Response message for PipelineService.ListPipelineJobs", + "type": "object", + "properties": { + "pipelineJobs": { + "description": "List of PipelineJobs in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PipelineJob" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListPipelineJobsRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest": { + "id": "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest", + "description": "Request message for PipelineService.BatchDeletePipelineJobs.", + "type": "object", + "properties": { + "names": { + "description": "Required. The names of the PipelineJobs to delete. A maximum of 32 PipelineJobs can be deleted in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1CancelPipelineJobRequest": { + "id": "GoogleCloudAiplatformV1CancelPipelineJobRequest", + "description": "Request message for PipelineService.CancelPipelineJob.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest": { + "id": "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest", + "description": "Request message for PipelineService.BatchCancelPipelineJobs.", + "type": "object", + "properties": { + "names": { + "description": "Required. The names of the PipelineJobs to cancel. A maximum of 32 PipelineJobs can be cancelled in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1QueryReasoningEngineRequest": { + "id": "GoogleCloudAiplatformV1QueryReasoningEngineRequest", + "description": "Request message for ReasoningEngineExecutionService.Query.", + "type": "object", + "properties": { + "input": { + "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "classMethod": { + "description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1QueryReasoningEngineResponse": { + "id": "GoogleCloudAiplatformV1QueryReasoningEngineResponse", + "description": "Response message for ReasoningEngineExecutionService.Query", + "type": "object", + "properties": { + "output": { + "description": "Response provided by users in JSON object format.", + "type": "any" + } + } + }, + "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest": { + "id": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest", + "description": "Request message for ReasoningEngineExecutionService.StreamQuery.", + "type": "object", + "properties": { + "input": { + "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "classMethod": { + "description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngine": { + "id": "GoogleCloudAiplatformV1ReasoningEngine", + "description": "ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the ReasoningEngine.", + "type": "string" + }, + "description": { + "description": "Optional. The description of the ReasoningEngine.", + "type": "string" + }, + "spec": { + "description": "Optional. Configurations of the ReasoningEngine", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpec" + }, + "createTime": { + "description": "Output only. Timestamp when this ReasoningEngine was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this ReasoningEngine was most recently updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "labels": { + "description": "Labels for the ReasoningEngine.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpec": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpec", + "description": "ReasoningEngine configurations", + "type": "object", + "properties": { + "sourceCodeSpec": { + "description": "Deploy from source code files with a defined entrypoint.", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec" + }, + "serviceAccount": { + "description": "Optional. The service account that the Reasoning Engine artifact runs as. It should have \"roles/storage.objectViewer\" for reading the user project's Cloud Storage and \"roles/aiplatform.user\" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.", + "type": "string" + }, + "packageSpec": { + "description": "Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes. The `deployment_source` field should not be set if `package_spec` is specified.", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec" + }, + "deploymentSpec": { + "description": "Optional. The specification of a Reasoning Engine deployment.", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec" + }, + "classMethods": { + "description": "Optional. Declarations for object class methods in OpenAPI specification format.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + }, + "agentFramework": { + "description": "Optional. The OSS agent framework used to develop the agent. Currently supported values: \"google-adk\", \"langchain\", \"langgraph\", \"ag2\", \"llama-index\", \"custom\".", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec", + "description": "Specification for deploying from source code.", + "type": "object", + "properties": { + "inlineSource": { + "description": "Source code is provided directly in the request.", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource" + }, + "pythonSpec": { + "description": "Configuration for a Python application.", + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource", + "description": "Specifies source code provided as a byte stream.", + "type": "object", + "properties": { + "sourceArchive": { + "description": "Required. Input only. The application source code archive, provided as a compressed tarball (.tar.gz) file.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec", + "description": "Specification for running a Python application from source.", + "type": "object", + "properties": { + "version": { + "description": "Optional. The version of Python to use. Support version includes 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, default value is 3.10.", + "type": "string" + }, + "entrypointModule": { + "description": "Optional. The Python module to load as the entrypoint, specified as a fully qualified module name. For example: path.to.agent. If not specified, defaults to \"agent\". The project root will be added to Python sys.path, allowing imports to be specified relative to the root.", + "type": "string" + }, + "entrypointObject": { + "description": "Optional. The name of the callable object within the `entrypoint_module` to use as the application If not specified, defaults to \"root_agent\".", + "type": "string" + }, + "requirementsFile": { + "description": "Optional. The path to the requirements file, relative to the source root. If not specified, defaults to \"requirements.txt\".", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", + "description": "User-provided package specification, containing pickled object and package requirements.", + "type": "object", + "properties": { + "pickleObjectGcsUri": { + "description": "Optional. The Cloud Storage URI of the pickled python object.", + "type": "string" + }, + "dependencyFilesGcsUri": { + "description": "Optional. The Cloud Storage URI of the dependency files in tar.gz format.", + "type": "string" + }, + "requirementsGcsUri": { + "description": "Optional. The Cloud Storage URI of the `requirements.txt` file", + "type": "string" + }, + "pythonVersion": { + "description": "Optional. The Python version. Supported values are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value is 3.10.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec": { + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec", + "description": "The specification of a Reasoning Engine deployment.", + "type": "object", + "properties": { + "env": { + "description": "Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the UpdateReasoningEngine API.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1EnvVar" + } + }, + "secretEnv": { + "description": "Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine Service Agent.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SecretEnvVar" + } + }, + "pscInterfaceConfig": { + "description": "Optional. Configuration for PSC-I.", + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig" + }, + "minInstances": { + "description": "Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. Range: [0, 10].", + "type": "integer", + "format": "int32" + }, + "maxInstances": { + "description": "Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100. Range: [1, 1000]. If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].", + "type": "integer", + "format": "int32" + }, + "resourceLimits": { + "description": "Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {\"cpu\": \"4\", \"memory\": \"4Gi\"}. * The only supported values for CPU are '1', '2', '4', '6' and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'. * For required cpu on different memory values, go to https://cloud.google.com/run/docs/configuring/memory-limits", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "containerConcurrency": { + "description": "Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SecretEnvVar": { + "id": "GoogleCloudAiplatformV1SecretEnvVar", + "description": "Represents an environment variable where the value is a secret in Cloud Secret Manager.", + "type": "object", + "properties": { + "name": { + "description": "Required. Name of the secret environment variable.", + "type": "string" + }, + "secretRef": { + "description": "Required. Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.", + "$ref": "GoogleCloudAiplatformV1SecretRef" + } + } + }, + "GoogleCloudAiplatformV1SecretRef": { + "id": "GoogleCloudAiplatformV1SecretRef", + "description": "Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.", + "type": "object", + "properties": { + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.", + "type": "string" + }, + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListReasoningEnginesResponse": { + "id": "GoogleCloudAiplatformV1ListReasoningEnginesResponse", + "description": "Response message for ReasoningEngineService.ListReasoningEngines", + "type": "object", + "properties": { + "reasoningEngines": { + "description": "List of ReasoningEngines in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Schedule": { + "id": "GoogleCloudAiplatformV1Schedule", + "description": "An instance of a Schedule periodically schedules runs to make API calls based on user specified time specification and API request type.", + "type": "object", + "properties": { + "cron": { + "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", + "type": "string" + }, + "createPipelineJobRequest": { + "description": "Request for PipelineService.CreatePipelineJob. CreatePipelineJobRequest.parent field is required (format: projects/{project}/locations/{location}).", + "$ref": "GoogleCloudAiplatformV1CreatePipelineJobRequest" + }, + "createNotebookExecutionJobRequest": { + "description": "Request for NotebookService.CreateNotebookExecutionJob.", + "$ref": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest" + }, + "name": { + "description": "Immutable. The resource name of the Schedule.", + "type": "string" + }, + "displayName": { + "description": "Required. User provided name of the Schedule. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "startTime": { + "description": "Optional. Timestamp after which the first run can be scheduled. Default to Schedule create time if not specified.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Optional. Timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when either end_time is reached or when scheduled_run_count \u003e= max_run_count. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", + "type": "string", + "format": "google-datetime" + }, + "maxRunCount": { + "description": "Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count \u003e= max_run_count or when end_time is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", + "type": "string", + "format": "int64" + }, + "startedRunCount": { + "description": "Output only. The number of runs started by this schedule.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "state": { + "description": "Output only. The state of this Schedule.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "The Schedule is active. Runs are being scheduled on the user-specified timespec.", + "The schedule is paused. No new runs will be created until the schedule is resumed. Already started runs will be allowed to complete.", + "The Schedule is completed. No new runs will be scheduled. Already started runs will be allowed to complete. Schedules in completed state cannot be paused or resumed." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PAUSED", + "COMPLETED" + ] + }, + "createTime": { + "description": "Output only. Timestamp when this Schedule was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Schedule was updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "nextRunTime": { + "description": "Output only. Timestamp when this Schedule should schedule the next run. Having a next_run_time in the past means the runs are being started behind schedule.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "lastPauseTime": { + "description": "Output only. Timestamp when this Schedule was last paused. Unset if never paused.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "lastResumeTime": { + "description": "Output only. Timestamp when this Schedule was last resumed. Unset if never resumed from pause.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "maxConcurrentRunCount": { + "description": "Required. Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable).", + "type": "string", + "format": "int64" + }, + "allowQueueing": { + "description": "Optional. Whether new scheduled runs can be queued when max_concurrent_runs limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.", + "type": "boolean" + }, + "catchUp": { + "description": "Output only. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.", + "readOnly": true, + "type": "boolean" + }, + "lastScheduledRunResponse": { + "description": "Output only. Response of the last scheduled run. This is the response for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable). Unset if no run has been scheduled yet.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ScheduleRunResponse" + } + } + }, + "GoogleCloudAiplatformV1CreatePipelineJobRequest": { + "id": "GoogleCloudAiplatformV1CreatePipelineJobRequest", + "description": "Request message for PipelineService.CreatePipelineJob.", + "type": "object", + "properties": { + "parent": { + "description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", + "type": "string" + }, + "pipelineJob": { + "description": "Required. The PipelineJob to create.", + "$ref": "GoogleCloudAiplatformV1PipelineJob" + }, + "pipelineJobId": { + "description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest": { + "id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest", + "description": "Request message for [NotebookService.CreateNotebookExecutionJob]", + "type": "object", + "properties": { + "parent": { + "description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", + "type": "string" + }, + "notebookExecutionJob": { + "description": "Required. The NotebookExecutionJob to create.", + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" + }, + "notebookExecutionJobId": { + "description": "Optional. User specified ID for the NotebookExecutionJob.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ScheduleRunResponse": { + "id": "GoogleCloudAiplatformV1ScheduleRunResponse", + "description": "Status of a scheduled run.", + "type": "object", + "properties": { + "scheduledRunTime": { + "description": "The scheduled run time based on the user-specified schedule.", + "type": "string", + "format": "google-datetime" + }, + "runResponse": { + "description": "The response of the scheduled run.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListSchedulesResponse": { + "id": "GoogleCloudAiplatformV1ListSchedulesResponse", + "description": "Response message for ScheduleService.ListSchedules", + "type": "object", + "properties": { + "schedules": { + "description": "List of Schedules in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Schedule" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListSchedulesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PauseScheduleRequest": { + "id": "GoogleCloudAiplatformV1PauseScheduleRequest", + "description": "Request message for ScheduleService.PauseSchedule.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ResumeScheduleRequest": { + "id": "GoogleCloudAiplatformV1ResumeScheduleRequest", + "description": "Request message for ScheduleService.ResumeSchedule.", + "type": "object", + "properties": { + "catchUp": { + "description": "Optional. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. This will also update Schedule.catch_up field. Default to false.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SpecialistPool": { + "id": "GoogleCloudAiplatformV1SpecialistPool", + "description": "SpecialistPool represents customers' own workforce to work on their data labeling jobs. It includes a group of specialist managers and workers. Managers are responsible for managing the workers in this pool as well as customers' data labeling jobs associated with this pool. Customers create specialist pool as well as start data labeling jobs on Cloud, managers and workers handle the jobs using CrowdCompute console.", + "type": "object", + "properties": { + "name": { + "description": "Required. The resource name of the SpecialistPool.", + "type": "string" + }, + "displayName": { + "description": "Required. The user-defined name of the SpecialistPool. The name can be up to 128 characters long and can consist of any UTF-8 characters. This field should be unique on project-level.", + "type": "string" + }, + "specialistManagersCount": { + "description": "Output only. The number of managers in this SpecialistPool.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "specialistManagerEmails": { + "description": "The email addresses of the managers in the SpecialistPool.", + "type": "array", + "items": { + "type": "string" + } + }, + "pendingDataLabelingJobs": { + "description": "Output only. The resource name of the pending data labeling jobs.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "specialistWorkerEmails": { + "description": "The email addresses of workers in the SpecialistPool.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1ListSpecialistPoolsResponse": { + "id": "GoogleCloudAiplatformV1ListSpecialistPoolsResponse", + "description": "Response message for SpecialistPoolService.ListSpecialistPools.", + "type": "object", + "properties": { + "specialistPools": { + "description": "A list of SpecialistPools that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SpecialistPool" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Tensorboard": { + "id": "GoogleCloudAiplatformV1Tensorboard", + "description": "Tensorboard is a physical database that stores users' training metrics. A default Tensorboard is provided in each region of a Google Cloud project. If needed users can also create extra Tensorboards in their projects.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User provided name of this Tensorboard.", + "type": "string" + }, + "description": { + "description": "Description of this Tensorboard.", + "type": "string" + }, + "encryptionSpec": { + "description": "Customer-managed encryption key spec for a Tensorboard. If set, this Tensorboard and all sub-resources of this Tensorboard will be secured by this key.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "blobStoragePathPrefix": { + "description": "Output only. Consumer project Cloud Storage path prefix used to store blob data, which can either be a bucket or directory. Does not end with a '/'.", + "readOnly": true, + "type": "string" + }, + "runCount": { + "description": "Output only. The number of Runs stored in this Tensorboard.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "createTime": { + "description": "Output only. Timestamp when this Tensorboard was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this Tensorboard was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "isDefault": { + "description": "Used to indicate if the TensorBoard instance is the default one. Each project & region can have at most one default TensorBoard instance. Creation of a default TensorBoard instance and updating an existing TensorBoard instance to be default will mark all other TensorBoard instances (if any) as non default.", + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1ListTensorboardsResponse": { + "id": "GoogleCloudAiplatformV1ListTensorboardsResponse", + "description": "Response message for TensorboardService.ListTensorboards.", + "type": "object", + "properties": { + "tensorboards": { + "description": "The Tensorboards mathching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tensorboard" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListTensorboardsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardUsageResponse": { + "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponse", + "description": "Response message for TensorboardService.ReadTensorboardUsage.", + "type": "object", + "properties": { + "monthlyUsageData": { + "description": "Maps year-month (YYYYMM) string to per month usage data.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData" + } + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData": { + "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData", + "description": "Per month usage data", + "type": "object", + "properties": { + "userUsageData": { + "description": "Usage data for each user in the given month.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData" + } + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData": { + "id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData", + "description": "Per user usage data.", + "type": "object", + "properties": { + "username": { + "description": "User's username", + "type": "string" + }, + "viewCount": { + "description": "Number of times the user has read data within the Tensorboard.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardSizeResponse": { + "id": "GoogleCloudAiplatformV1ReadTensorboardSizeResponse", + "description": "Response message for TensorboardService.ReadTensorboardSize.", + "type": "object", + "properties": { + "storageSizeByte": { + "description": "Payload storage size for the TensorBoard", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1TensorboardExperiment": { + "id": "GoogleCloudAiplatformV1TensorboardExperiment", + "description": "A TensorboardExperiment is a group of TensorboardRuns, that are typically the results of a training job run, in a Tensorboard.", + "type": "object", + "properties": { + "name": { + "description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "User provided name of this TensorboardExperiment.", + "type": "string" + }, + "description": { + "description": "Description of this TensorboardExperiment.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this TensorboardExperiment was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this TensorboardExperiment was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "source": { + "description": "Immutable. Source of the TensorboardExperiment. Example: a custom training job.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse": { + "id": "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse", + "description": "Response message for TensorboardService.ListTensorboardExperiments.", + "type": "object", + "properties": { + "tensorboardExperiments": { + "description": "The TensorboardExperiments mathching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardExperiment" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListTensorboardExperimentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1TensorboardRun": { + "id": "GoogleCloudAiplatformV1TensorboardRun", + "description": "TensorboardRun maps to a specific execution of a training job with a given set of hyperparameter values, model definition, dataset, etc", + "type": "object", + "properties": { + "name": { + "description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User provided name of this TensorboardRun. This value must be unique among all TensorboardRuns belonging to the same parent TensorboardExperiment.", + "type": "string" + }, + "description": { + "description": "Description of this TensorboardRun.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this TensorboardRun was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this TensorboardRun was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest": { + "id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest", + "description": "Request message for TensorboardService.BatchCreateTensorboardRuns.", + "type": "object", + "properties": { + "requests": { + "description": "Required. The request message specifying the TensorboardRuns to create. A maximum of 1000 TensorboardRuns can be created in a batch.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CreateTensorboardRunRequest" + } + } + } + }, + "GoogleCloudAiplatformV1CreateTensorboardRunRequest": { + "id": "GoogleCloudAiplatformV1CreateTensorboardRunRequest", + "description": "Request message for TensorboardService.CreateTensorboardRun.", + "type": "object", + "properties": { + "parent": { + "description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", + "type": "string" + }, + "tensorboardRun": { + "description": "Required. The TensorboardRun to create.", + "$ref": "GoogleCloudAiplatformV1TensorboardRun" + }, + "tensorboardRunId": { + "description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse": { + "id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse", + "description": "Response message for TensorboardService.BatchCreateTensorboardRuns.", + "type": "object", + "properties": { + "tensorboardRuns": { + "description": "The created TensorboardRuns.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardRun" + } + } + } + }, + "GoogleCloudAiplatformV1ListTensorboardRunsResponse": { + "id": "GoogleCloudAiplatformV1ListTensorboardRunsResponse", + "description": "Response message for TensorboardService.ListTensorboardRuns.", + "type": "object", + "properties": { + "tensorboardRuns": { + "description": "The TensorboardRuns mathching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardRun" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListTensorboardRunsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest": { + "id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest", + "description": "Request message for TensorboardService.BatchCreateTensorboardTimeSeries.", + "type": "object", + "properties": { + "requests": { + "description": "Required. The request message specifying the TensorboardTimeSeries to create. A maximum of 1000 TensorboardTimeSeries can be created in a batch.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest" + } + } + } + }, + "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest": { + "id": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest", + "description": "Request message for TensorboardService.CreateTensorboardTimeSeries.", + "type": "object", + "properties": { + "parent": { + "description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", + "type": "string" + }, + "tensorboardTimeSeriesId": { + "description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", + "type": "string" + }, + "tensorboardTimeSeries": { + "description": "Required. The TensorboardTimeSeries to create.", + "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" + } + } + }, + "GoogleCloudAiplatformV1TensorboardTimeSeries": { + "id": "GoogleCloudAiplatformV1TensorboardTimeSeries", + "description": "TensorboardTimeSeries maps to times series produced in training runs", + "type": "object", + "properties": { + "name": { + "description": "Output only. Name of the TensorboardTimeSeries.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User provided name of this TensorboardTimeSeries. This value should be unique among all TensorboardTimeSeries resources belonging to the same TensorboardRun resource (parent resource).", + "type": "string" + }, + "description": { + "description": "Description of this TensorboardTimeSeries.", + "type": "string" + }, + "valueType": { + "description": "Required. Immutable. Type of TensorboardTimeSeries value.", + "type": "string", + "enumDescriptions": [ + "The value type is unspecified.", + "Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", + "Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", + "Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "SCALAR", + "TENSOR", + "BLOB_SEQUENCE" + ] + }, + "createTime": { + "description": "Output only. Timestamp when this TensorboardTimeSeries was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this TensorboardTimeSeries was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "etag": { + "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "pluginName": { + "description": "Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, Blob", + "type": "string" + }, + "pluginData": { + "description": "Data of the current plugin, with the size limited to 65KB.", + "type": "string", + "format": "byte" + }, + "metadata": { + "description": "Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata" + } + } + }, + "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata": { + "id": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata", + "description": "Describes metadata for a TensorboardTimeSeries.", + "type": "object", + "properties": { + "maxStep": { + "description": "Output only. Max step index of all data points within a TensorboardTimeSeries.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "maxWallTime": { + "description": "Output only. Max wall clock timestamp of all data points within a TensorboardTimeSeries.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "maxBlobSequenceLength": { + "description": "Output only. The largest blob sequence length (number of blobs) of all data points in this time series, if its ValueType is BLOB_SEQUENCE.", + "readOnly": true, + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse": { + "id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse", + "description": "Response message for TensorboardService.BatchCreateTensorboardTimeSeries.", + "type": "object", + "properties": { + "tensorboardTimeSeries": { + "description": "The created TensorboardTimeSeries.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" + } + } + } + }, + "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse": { + "id": "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse", + "description": "Response message for TensorboardService.ListTensorboardTimeSeries.", + "type": "object", + "properties": { + "tensorboardTimeSeries": { + "description": "The TensorboardTimeSeries mathching the request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as ListTensorboardTimeSeriesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse": { + "id": "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse", + "description": "Response message for TensorboardService.BatchReadTensorboardTimeSeriesData.", + "type": "object", + "properties": { + "timeSeriesData": { + "description": "The returned time series data.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TimeSeriesData" + } + } + } + }, + "GoogleCloudAiplatformV1TimeSeriesData": { + "id": "GoogleCloudAiplatformV1TimeSeriesData", + "description": "All the data stored in a TensorboardTimeSeries.", + "type": "object", + "properties": { + "tensorboardTimeSeriesId": { + "description": "Required. The ID of the TensorboardTimeSeries, which will become the final component of the TensorboardTimeSeries' resource name", + "type": "string" + }, + "valueType": { + "description": "Required. Immutable. The value type of this time series. All the values in this time series data must match this value type.", + "type": "string", + "enumDescriptions": [ + "The value type is unspecified.", + "Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", + "Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", + "Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "SCALAR", + "TENSOR", + "BLOB_SEQUENCE" + ] + }, + "values": { + "description": "Required. Data points in this time series.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" + } + } + } + }, + "GoogleCloudAiplatformV1TimeSeriesDataPoint": { + "id": "GoogleCloudAiplatformV1TimeSeriesDataPoint", + "description": "A TensorboardTimeSeries data point.", + "type": "object", + "properties": { + "scalar": { + "description": "A scalar value.", + "$ref": "GoogleCloudAiplatformV1Scalar" + }, + "tensor": { + "description": "A tensor value.", + "$ref": "GoogleCloudAiplatformV1TensorboardTensor" + }, + "blobs": { + "description": "A blob sequence value.", + "$ref": "GoogleCloudAiplatformV1TensorboardBlobSequence" + }, + "wallTime": { + "description": "Wall clock timestamp when this data point is generated by the end user.", + "type": "string", + "format": "google-datetime" + }, + "step": { + "description": "Step index of this data point within the run.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1Scalar": { + "id": "GoogleCloudAiplatformV1Scalar", + "description": "One point viewable on a scalar metric plot.", + "type": "object", + "properties": { + "value": { + "description": "Value of the point at this step / timestamp.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1TensorboardTensor": { + "id": "GoogleCloudAiplatformV1TensorboardTensor", + "description": "One point viewable on a tensor metric plot.", + "type": "object", + "properties": { + "value": { + "description": "Required. Serialized form of https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto", + "type": "string", + "format": "byte" + }, + "versionNumber": { + "description": "Optional. Version number of TensorProto used to serialize value.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1TensorboardBlobSequence": { + "id": "GoogleCloudAiplatformV1TensorboardBlobSequence", + "description": "One point viewable on a blob metric plot, but mostly just a wrapper message to work around repeated fields can't be used directly within `oneof` fields.", + "type": "object", + "properties": { + "values": { + "description": "List of blobs contained within the sequence.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardBlob" + } + } + } + }, + "GoogleCloudAiplatformV1TensorboardBlob": { + "id": "GoogleCloudAiplatformV1TensorboardBlob", + "description": "One blob (e.g, image, graph) viewable on a blob metric plot.", + "type": "object", + "properties": { + "id": { + "description": "Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob stored in the Cloud Storage bucket of the consumer project.", + "readOnly": true, + "type": "string" + }, + "data": { + "description": "Optional. The bytes of the blob is not present unless it's returned by the ReadTensorboardBlobData endpoint.", + "type": "string", + "format": "byte" + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse": { + "id": "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse", + "description": "Response message for TensorboardService.ReadTensorboardTimeSeriesData.", + "type": "object", + "properties": { + "timeSeriesData": { + "description": "The returned time series data.", + "$ref": "GoogleCloudAiplatformV1TimeSeriesData" + } + } + }, + "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse": { + "id": "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse", + "description": "Response message for TensorboardService.ReadTensorboardBlobData.", + "type": "object", + "properties": { + "blobs": { + "description": "Blob messages containing blob bytes.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TensorboardBlob" + } + } + } + }, + "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest": { + "id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest", + "description": "Request message for TensorboardService.WriteTensorboardExperimentData.", + "type": "object", + "properties": { + "writeRunDataRequests": { + "description": "Required. Requests containing per-run TensorboardTimeSeries data to write.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest" + } + } + } + }, + "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest": { + "id": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest", + "description": "Request message for TensorboardService.WriteTensorboardRunData.", + "type": "object", + "properties": { + "tensorboardRun": { + "description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", + "type": "string" + }, + "timeSeriesData": { + "description": "Required. The TensorboardTimeSeries data to write. Values with in a time series are indexed by their step value. Repeated writes to the same step will overwrite the existing value for that step. The upper limit of data points per write request is 5000.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TimeSeriesData" + } + } + } + }, + "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse": { + "id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse", + "description": "Response message for TensorboardService.WriteTensorboardExperimentData.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse": { + "id": "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse", + "description": "Response message for TensorboardService.WriteTensorboardRunData.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest": { + "id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest", + "description": "Request message for TensorboardService.ExportTensorboardTimeSeriesData.", + "type": "object", + "properties": { + "filter": { + "description": "Exports the TensorboardTimeSeries' data that match the filter expression.", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of data points to return per page. The default page_size is 1000. Values must be between 1 and 10000. Values above 10000 are coerced to 10000.", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "A page token, received from a previous ExportTensorboardTimeSeriesData call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ExportTensorboardTimeSeriesData must match the call that provided the page token.", + "type": "string" + }, + "orderBy": { + "description": "Field to use to sort the TensorboardTimeSeries' data. By default, TensorboardTimeSeries' data is returned in a pseudo random order.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse": { + "id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse", + "description": "Response message for TensorboardService.ExportTensorboardTimeSeriesData.", + "type": "object", + "properties": { + "timeSeriesDataPoints": { + "description": "The returned time series data points.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" + } + }, + "nextPageToken": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1Study": { + "id": "GoogleCloudAiplatformV1Study", + "description": "A message representing a Study.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The name of a study. The study's globally unique identifier. Format: `projects/{project}/locations/{location}/studies/{study}`", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Describes the Study, default value is empty string.", + "type": "string" + }, + "studySpec": { + "description": "Required. Configuration of the Study.", + "$ref": "GoogleCloudAiplatformV1StudySpec" + }, + "state": { + "description": "Output only. The detailed state of a Study.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The study state is unspecified.", + "The study is active.", + "The study is stopped due to an internal error.", + "The study is done when the service exhausts the parameter search space or max_trial_count is reached." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "COMPLETED" + ] + }, + "createTime": { + "description": "Output only. Time at which the study was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "inactiveReason": { + "description": "Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListStudiesResponse": { + "id": "GoogleCloudAiplatformV1ListStudiesResponse", + "description": "Response message for VizierService.ListStudies.", + "type": "object", + "properties": { + "studies": { + "description": "The studies associated with the project.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Study" + } + }, + "nextPageToken": { + "description": "Passes this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1LookupStudyRequest": { + "id": "GoogleCloudAiplatformV1LookupStudyRequest", + "description": "Request message for VizierService.LookupStudy.", + "type": "object", + "properties": { + "displayName": { + "description": "Required. The user-defined display name of the Study", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SuggestTrialsRequest": { + "id": "GoogleCloudAiplatformV1SuggestTrialsRequest", + "description": "Request message for VizierService.SuggestTrials.", + "type": "object", + "properties": { + "suggestionCount": { + "description": "Required. The number of suggestions requested. It must be positive.", + "type": "integer", + "format": "int32" + }, + "clientId": { + "description": "Required. The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", + "type": "string" + }, + "contexts": { + "description": "Optional. This allows you to specify the \"context\" for a Trial; a context is a slice (a subspace) of the search space. Typical uses for contexts: 1) You are using Vizier to tune a server for best performance, but there's a strong weekly cycle. The context specifies the day-of-week. This allows Tuesday to generalize from Wednesday without assuming that everything is identical. 2) Imagine you're optimizing some medical treatment for people. As they walk in the door, you know certain facts about them (e.g. sex, weight, height, blood-pressure). Put that information in the context, and Vizier will adapt its suggestions to the patient. 3) You want to do a fair A/B test efficiently. Specify the \"A\" and \"B\" conditions as contexts, and Vizier will generalize between \"A\" and \"B\" conditions. If they are similar, this will allow Vizier to converge to the optimum faster than if \"A\" and \"B\" were separate Studies. NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the CreateTrial() RPC; that's the asynchronous option where you don't need a close association between contexts and suggestions. NOTE: All the Parameters you set in a context MUST be defined in the Study. NOTE: You must supply 0 or $suggestion_count contexts. If you don't supply any contexts, Vizier will make suggestions from the full search space specified in the StudySpec; if you supply a full set of context, each suggestion will match the corresponding context. NOTE: A Context with no features set matches anything, and allows suggestions from the full search space. NOTE: Contexts MUST lie within the search space specified in the StudySpec. It's an error if they don't. NOTE: Contexts preferentially match ACTIVE then REQUESTED trials before new suggestions are generated. NOTE: Generation of suggestions involves a match between a Context and (optionally) a REQUESTED trial; if that match is not fully specified, a suggestion will be geneated in the merged subspace.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrialContext" + } + } + } + }, + "GoogleCloudAiplatformV1TrialContext": { + "id": "GoogleCloudAiplatformV1TrialContext", + "type": "object", + "properties": { + "description": { + "description": "A human-readable field which can store a description of this context. This will become part of the resulting Trial's description field.", + "type": "string" + }, + "parameters": { + "description": "If/when a Trial is generated or selected from this Context, its Parameters will match any parameters specified here. (I.e. if this context specifies parameter name:'a' int_value:3, then a resulting Trial will have int_value:3 for its parameter named 'a'.) Note that we first attempt to match existing REQUESTED Trials with contexts, and if there are no matches, we generate suggestions in the subspace defined by the parameters specified here. NOTE: a Context without any Parameters matches the entire feasible search space.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1TrialParameter" + } + } + } + }, + "GoogleCloudAiplatformV1ListTrialsResponse": { + "id": "GoogleCloudAiplatformV1ListTrialsResponse", + "description": "Response message for VizierService.ListTrials.", + "type": "object", + "properties": { + "trials": { + "description": "The Trials associated with the Study.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Trial" + } + }, + "nextPageToken": { + "description": "Pass this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AddTrialMeasurementRequest": { + "id": "GoogleCloudAiplatformV1AddTrialMeasurementRequest", + "description": "Request message for VizierService.AddTrialMeasurement.", + "type": "object", + "properties": { + "measurement": { + "description": "Required. The measurement to be added to a Trial.", + "$ref": "GoogleCloudAiplatformV1Measurement" + } + } + }, + "GoogleCloudAiplatformV1CompleteTrialRequest": { + "id": "GoogleCloudAiplatformV1CompleteTrialRequest", + "description": "Request message for VizierService.CompleteTrial.", + "type": "object", + "properties": { + "finalMeasurement": { + "description": "Optional. If provided, it will be used as the completed Trial's final_measurement; Otherwise, the service will auto-select a previously reported measurement as the final-measurement", + "$ref": "GoogleCloudAiplatformV1Measurement" + }, + "trialInfeasible": { + "description": "Optional. True if the Trial cannot be run with the given Parameter, and final_measurement will be ignored.", + "type": "boolean" + }, + "infeasibleReason": { + "description": "Optional. A human readable reason why the trial was infeasible. This should only be provided if `trial_infeasible` is true.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest": { + "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest", + "description": "Request message for VizierService.CheckTrialEarlyStoppingState.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1StopTrialRequest": { + "id": "GoogleCloudAiplatformV1StopTrialRequest", + "description": "Request message for VizierService.StopTrial.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ListOptimalTrialsRequest": { + "id": "GoogleCloudAiplatformV1ListOptimalTrialsRequest", + "description": "Request message for VizierService.ListOptimalTrials.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ListOptimalTrialsResponse": { + "id": "GoogleCloudAiplatformV1ListOptimalTrialsResponse", + "description": "Response message for VizierService.ListOptimalTrials.", + "type": "object", + "properties": { + "optimalTrials": { + "description": "The pareto-optimal Trials for multiple objective Study or the optimal trial for single objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Trial" + } + } + } + }, + "GoogleCloudAiplatformV1PublisherModel": { + "id": "GoogleCloudAiplatformV1PublisherModel", + "description": "A Model Garden Publisher Model.", + "type": "object", + "properties": { + "name": { + "description": "Output only. The resource name of the PublisherModel.", + "readOnly": true, + "type": "string" + }, + "versionId": { + "description": "Output only. Immutable. The version ID of the PublisherModel. A new version is committed when a new model version is uploaded under an existing model id. It is an auto-incrementing decimal number in string representation.", + "readOnly": true, + "type": "string" + }, + "openSourceCategory": { + "description": "Required. Indicates the open source category of the publisher model.", + "type": "string", + "enumDescriptions": [ + "The open source category is unspecified, which should not be used.", + "Used to indicate the PublisherModel is not open sourced.", + "Used to indicate the PublisherModel is a Google-owned open source model w/ Google checkpoint.", + "Used to indicate the PublisherModel is a 3p-owned open source model w/ Google checkpoint.", + "Used to indicate the PublisherModel is a Google-owned pure open source model.", + "Used to indicate the PublisherModel is a 3p-owned pure open source model." + ], + "enum": [ + "OPEN_SOURCE_CATEGORY_UNSPECIFIED", + "PROPRIETARY", + "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", + "THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", + "GOOGLE_OWNED_OSS", + "THIRD_PARTY_OWNED_OSS" + ] + }, + "supportedActions": { + "description": "Optional. Supported call-to-action options.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToAction" + }, + "frameworks": { + "description": "Optional. Additional information about the model's Frameworks.", + "type": "array", + "items": { + "type": "string" + } + }, + "launchStage": { + "description": "Optional. Indicates the launch stage of the model.", + "type": "string", + "enumDescriptions": [ + "The model launch stage is unspecified.", + "Used to indicate the PublisherModel is at Experimental launch stage, available to a small set of customers.", + "Used to indicate the PublisherModel is at Private Preview launch stage, only available to a small set of customers, although a larger set of customers than an Experimental launch. Previews are the first launch stage used to get feedback from customers.", + "Used to indicate the PublisherModel is at Public Preview launch stage, available to all customers, although not supported for production workloads.", + "Used to indicate the PublisherModel is at GA launch stage, available to all customers and ready for production workload." + ], + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "EXPERIMENTAL", + "PRIVATE_PREVIEW", + "PUBLIC_PREVIEW", + "GA" + ] + }, + "versionState": { + "description": "Optional. Indicates the state of the model version.", + "type": "string", + "enumDescriptions": [ + "The version state is unspecified.", + "Used to indicate the version is stable.", + "Used to indicate the version is unstable." + ], + "enum": [ + "VERSION_STATE_UNSPECIFIED", + "VERSION_STATE_STABLE", + "VERSION_STATE_UNSTABLE" + ] + }, + "publisherModelTemplate": { + "description": "Optional. Output only. Immutable. Used to indicate this model has a publisher model and provide the template of the publisher model resource name.", + "readOnly": true, + "type": "string" + }, + "predictSchemata": { + "description": "Optional. The schemata that describes formats of the PublisherModel's predictions and explanations as given and returned via PredictionService.Predict.", + "$ref": "GoogleCloudAiplatformV1PredictSchemata" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToAction": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToAction", + "description": "Actions could take on this Publisher Model.", + "type": "object", + "properties": { + "viewRestApi": { + "description": "Optional. To view Rest API docs.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi" + }, + "openNotebook": { + "description": "Optional. Open notebook of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "openNotebooks": { + "description": "Optional. Open notebooks of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks" + }, + "createApplication": { + "description": "Optional. Create application using the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "openFineTuningPipeline": { + "description": "Optional. Open fine-tuning pipeline of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "openFineTuningPipelines": { + "description": "Optional. Open fine-tuning pipelines of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines" + }, + "openPromptTuningPipeline": { + "description": "Optional. Open prompt-tuning pipeline of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "openGenie": { + "description": "Optional. Open Genie / Playground.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "deploy": { + "description": "Optional. Deploy the PublisherModel to Vertex Endpoint.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy" + }, + "multiDeployVertex": { + "description": "Optional. Multiple setups to deploy the PublisherModel to Vertex Endpoint.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex" + }, + "deployGke": { + "description": "Optional. Deploy PublisherModel to Google Kubernetes Engine.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke" + }, + "openGenerationAiStudio": { + "description": "Optional. Open in Generation AI Studio.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "requestAccess": { + "description": "Optional. Request for access.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + }, + "openEvaluationPipeline": { + "description": "Optional. Open evaluation pipeline of the PublisherModel.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi", + "description": "Rest API docs.", + "type": "object", + "properties": { + "documentations": { + "description": "Required.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PublisherModelDocumentation" + } + }, + "title": { + "description": "Required. The title of the view rest API.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelDocumentation": { + "id": "GoogleCloudAiplatformV1PublisherModelDocumentation", + "description": "A named piece of documentation.", + "type": "object", + "properties": { + "title": { + "description": "Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, NODE.JS, etc..", + "type": "string" + }, + "content": { + "description": "Required. Content of this piece of document (in Markdown format).", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", + "description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", + "type": "object", + "properties": { + "references": { + "description": "Required.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1PublisherModelResourceReference" + } + }, + "title": { + "description": "Required. ", + "type": "string" + }, + "resourceTitle": { + "description": "Optional. Title of the resource.", + "type": "string" + }, + "resourceUseCase": { + "description": "Optional. Use case (CUJ) of the resource.", + "type": "string" + }, + "resourceDescription": { + "description": "Optional. Description of the resource.", + "type": "string" + }, + "supportsWorkbench": { + "description": "Optional. For notebook resource, whether the notebook supports Workbench.", + "type": "boolean" + }, + "colabNotebookDisabled": { + "description": "Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the \"open notebook\" dialog in UI.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelResourceReference": { + "id": "GoogleCloudAiplatformV1PublisherModelResourceReference", + "description": "Reference to a resource.", + "type": "object", + "properties": { + "uri": { + "description": "The URI of the resource.", + "type": "string" + }, + "resourceName": { + "description": "The resource name of the Google Cloud resource.", + "type": "string" + }, + "useCase": { + "description": "Use case (CUJ) of the resource.", + "deprecated": true, + "type": "string" + }, + "description": { + "description": "Description of the resource.", + "deprecated": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks", + "description": "Open notebooks.", + "type": "object", + "properties": { + "notebooks": { + "description": "Required. Regional resource references to notebooks.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + } + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines", + "description": "Open fine tuning pipelines.", + "type": "object", + "properties": { + "fineTuningPipelines": { + "description": "Required. Regional resource references to fine tuning pipelines.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" + } + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy", + "description": "Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests.", + "type": "object", + "properties": { + "dedicatedResources": { + "description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", + "$ref": "GoogleCloudAiplatformV1DedicatedResources" + }, + "automaticResources": { + "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", + "$ref": "GoogleCloudAiplatformV1AutomaticResources" + }, + "sharedResources": { + "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", + "type": "string" + }, + "modelDisplayName": { + "description": "Optional. Default model display name.", + "type": "string" + }, + "largeModelReference": { + "description": "Optional. Large model reference. When this is set, model_artifact_spec is not needed.", + "$ref": "GoogleCloudAiplatformV1LargeModelReference" + }, + "containerSpec": { + "description": "Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models.", + "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" + }, + "artifactUri": { + "description": "Optional. The path to the directory containing the Model artifact and any of its supporting files.", + "type": "string" + }, + "deployTaskName": { + "description": "Optional. The name of the deploy task (e.g., \"text to image generation\").", + "type": "string" + }, + "deployMetadata": { + "description": "Optional. Metadata information about this deployment config.", + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata" + }, + "title": { + "description": "Required. The title of the regional resource reference.", + "type": "string" + }, + "publicArtifactUri": { + "description": "Optional. The signed URI for ephemeral Cloud Storage access to model artifact.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1LargeModelReference": { + "id": "GoogleCloudAiplatformV1LargeModelReference", + "description": "Contains information about the Large Model.", + "type": "object", + "properties": { + "name": { + "description": "Required. The unique name of the large Foundation or pre-built model. Like \"chat-bison\", \"text-bison\". Or model name with version ID, like \"chat-bison@001\", \"text-bison@005\", etc.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata", + "description": "Metadata information about the deployment for managing deployment config.", + "type": "object", + "properties": { + "labels": { + "description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sampleRequest": { + "description": "Optional. Sample request for deployed endpoint.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex", + "description": "Multiple setups to deploy the PublisherModel.", + "type": "object", + "properties": { + "multiDeployVertex": { + "description": "Optional. One click deployment configurations.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy" + } + } + } + }, + "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke": { + "id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke", + "description": "Configurations for PublisherModel GKE deployment", + "type": "object", + "properties": { + "gkeYamlConfigs": { + "description": "Optional. GKE deployment configuration in yaml format.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1DeployRequest": { + "id": "GoogleCloudAiplatformV1DeployRequest", + "description": "Request message for ModelGardenService.Deploy.", + "type": "object", + "properties": { + "publisherModelName": { + "description": "The Model Garden model to deploy. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`.", + "type": "string" + }, + "huggingFaceModelId": { + "description": "The Hugging Face model to deploy. Format: Hugging Face model ID like `google/gemma-2-2b-it`.", + "type": "string" + }, + "modelConfig": { + "description": "Optional. The model config to use for the deployment. If not specified, the default model config will be used.", + "$ref": "GoogleCloudAiplatformV1DeployRequestModelConfig" + }, + "endpointConfig": { + "description": "Optional. The endpoint config to use for the deployment. If not specified, the default endpoint config will be used.", + "$ref": "GoogleCloudAiplatformV1DeployRequestEndpointConfig" + }, + "deployConfig": { + "description": "Optional. The deploy config to use for the deployment. If not specified, the default deploy config will be used.", + "$ref": "GoogleCloudAiplatformV1DeployRequestDeployConfig" + } + } + }, + "GoogleCloudAiplatformV1DeployRequestModelConfig": { + "id": "GoogleCloudAiplatformV1DeployRequestModelConfig", + "description": "The model config to use for the deployment.", + "type": "object", + "properties": { + "acceptEula": { + "description": "Optional. Whether the user accepts the End User License Agreement (EULA) for the model.", + "type": "boolean" + }, + "huggingFaceAccessToken": { + "description": "Optional. The Hugging Face read access token used to access the model artifacts of gated models.", + "type": "string" + }, + "huggingFaceCacheEnabled": { + "description": "Optional. If true, the model will deploy with a cached version instead of directly downloading the model artifacts from Hugging Face. This is suitable for VPC-SC users with limited internet access.", + "type": "boolean" + }, + "modelDisplayName": { + "description": "Optional. The user-specified display name of the uploaded model. If not set, a default name will be used.", + "type": "string" + }, + "containerSpec": { + "description": "Optional. The specification of the container that is to be used when deploying. If not set, the default container spec will be used.", + "$ref": "GoogleCloudAiplatformV1ModelContainerSpec" + }, + "modelUserId": { + "description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. When not provided, Vertex AI will generate a value for this ID. When Model Registry model is provided, this field will be ignored. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployRequestEndpointConfig": { + "id": "GoogleCloudAiplatformV1DeployRequestEndpointConfig", + "description": "The endpoint config to use for the deployment.", + "type": "object", + "properties": { + "endpointDisplayName": { + "description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", + "type": "string" + }, + "dedicatedEndpointEnabled": { + "description": "Optional. Deprecated. Use dedicated_endpoint_disabled instead. If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon.", + "deprecated": true, + "type": "boolean" + }, + "dedicatedEndpointDisabled": { + "description": "Optional. By default, if dedicated endpoint is enabled and private service connect config is not set, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. If private service connect config is set, the endpoint will be exposed through private service connect. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitations will be removed soon. If this field is set to true, the dedicated endpoint will be disabled and the deployed model will be exposed through the shared DNS {region}-aiplatform.googleapis.com.", + "type": "boolean" + }, + "privateServiceConnectConfig": { + "description": "Optional. Configuration for private service connect. If set, the endpoint will be exposed through private service connect.", + "$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig" + }, + "labels": { + "description": "Optional. The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "endpointUserId": { + "description": "Optional. Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployRequestDeployConfig": { + "id": "GoogleCloudAiplatformV1DeployRequestDeployConfig", + "description": "The deploy config to use for the deployment.", + "type": "object", + "properties": { + "dedicatedResources": { + "description": "Optional. The dedicated resources to use for the endpoint. If not set, the default resources will be used.", + "$ref": "GoogleCloudAiplatformV1DedicatedResources" + }, + "fastTryoutEnabled": { + "description": "Optional. If true, enable the QMT fast tryout feature for this model if possible.", + "type": "boolean" + }, + "systemLabels": { + "description": "Optional. System labels for Model Garden deployments. These labels are managed by Google and for tracking purposes only.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RagCorpus": { + "id": "GoogleCloudAiplatformV1RagCorpus", + "description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", + "type": "object", + "properties": { + "vectorDbConfig": { + "description": "Optional. Immutable. The config for the Vector DBs.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfig" + }, + "vertexAiSearchConfig": { + "description": "Optional. Immutable. The config for the Vertex AI Search.", + "$ref": "GoogleCloudAiplatformV1VertexAiSearchConfig" + }, + "name": { + "description": "Output only. The resource name of the RagCorpus.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagCorpus.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this RagCorpus was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this RagCorpus was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "corpusStatus": { + "description": "Output only. RagCorpus state.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1CorpusStatus" + }, + "encryptionSpec": { + "description": "Optional. Immutable. The CMEK key name used to encrypt at-rest data related to this Corpus. Only applicable to RagManagedDb option for Vector DB. This field can only be set at corpus creation time, and cannot be updated or deleted.", + "$ref": "GoogleCloudAiplatformV1EncryptionSpec" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1RagVectorDbConfig": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfig", + "description": "Config for the Vector DB to use for RAG.", + "type": "object", + "properties": { + "ragManagedDb": { + "description": "The config for the RAG-managed Vector DB.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb" + }, + "pinecone": { + "description": "The config for the Pinecone.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone" + }, + "vertexVectorSearch": { + "description": "The config for the Vertex Vector Search.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch" + }, + "apiAuth": { + "description": "Authentication config for the chosen Vector DB.", + "$ref": "GoogleCloudAiplatformV1ApiAuth" + }, + "ragEmbeddingModelConfig": { + "description": "Optional. Immutable. The embedding model config of the Vector DB.", + "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfig" + } + } + }, + "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", + "description": "The config for the default RAG-managed Vector DB.", + "type": "object", + "properties": { + "knn": { + "description": "Performs a KNN search on RagCorpus. Default choice if not specified.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN" + }, + "ann": { + "description": "Performs an ANN search on RagCorpus. Use this if you have a lot of files (\u003e 10K) in your RagCorpus and want to reduce the search latency.", + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN" + } + } + }, + "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN", + "description": "Config for KNN search.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN", + "description": "Config for ANN search. RagManagedDb uses a tree-based structure to partition data and facilitate faster searches. As a tradeoff, it requires longer indexing time and manual triggering of index rebuild via the ImportRagFiles and UpdateRagCorpus API.", + "type": "object", + "properties": { + "treeDepth": { + "description": "The depth of the tree-based structure. Only depth values of 2 and 3 are supported. Recommended value is 2 if you have if you have O(10K) files in the RagCorpus and set this to 3 if more than that. Default value is 2.", + "type": "integer", + "format": "int32" + }, + "leafCount": { + "description": "Number of leaf nodes in the tree-based structure. Each leaf node contains groups of closely related vectors along with their corresponding centroid. Recommended value is 10 * sqrt(num of RagFiles in your RagCorpus). Default value is 500.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1RagVectorDbConfigPinecone": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", + "description": "The config for the Pinecone.", + "type": "object", + "properties": { + "indexName": { + "description": "Pinecone index name. This value cannot be changed after it's set.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch": { + "id": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", + "description": "The config for the Vertex Vector Search.", + "type": "object", + "properties": { + "indexEndpoint": { + "description": "The resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", + "type": "string" + }, + "index": { + "description": "The resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}`", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagEmbeddingModelConfig": { + "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", + "description": "Config for the embedding model to use for RAG.", + "type": "object", + "properties": { + "vertexPredictionEndpoint": { + "description": "The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. Endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search.", + "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint" + } + } + }, + "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint": { + "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", + "description": "Config representing a model hosted on Vertex Prediction Endpoint.", + "type": "object", + "properties": { + "endpoint": { + "description": "Required. The endpoint resource name. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "model": { + "description": "Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project}/locations/{location}/models/{model}`", + "readOnly": true, + "type": "string" + }, + "modelVersionId": { + "description": "Output only. Version ID of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1VertexAiSearchConfig": { + "id": "GoogleCloudAiplatformV1VertexAiSearchConfig", + "description": "Config for the Vertex AI Search.", + "type": "object", + "properties": { + "servingConfig": { + "description": "Vertex AI Search Serving Config resource full name. For example, `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}` or `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CorpusStatus": { + "id": "GoogleCloudAiplatformV1CorpusStatus", + "description": "RagCorpus status.", + "type": "object", + "properties": { + "state": { + "description": "Output only. RagCorpus life state.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "This state is not supposed to happen.", + "RagCorpus resource entry is initialized, but hasn't done validation.", + "RagCorpus is provisioned successfully and is ready to serve.", + "RagCorpus is in a problematic situation. See `error_message` field for details." + ], + "enum": [ + "UNKNOWN", + "INITIALIZED", + "ACTIVE", + "ERROR" + ] + }, + "errorStatus": { + "description": "Output only. Only when the `state` field is ERROR.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListRagCorporaResponse": { + "id": "GoogleCloudAiplatformV1ListRagCorporaResponse", + "description": "Response message for VertexRagDataService.ListRagCorpora.", + "type": "object", + "properties": { + "ragCorpora": { + "description": "List of RagCorpora in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RagCorpus" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UploadRagFileRequest": { + "id": "GoogleCloudAiplatformV1UploadRagFileRequest", + "description": "Request message for VertexRagDataService.UploadRagFile.", + "type": "object", + "properties": { + "ragFile": { + "description": "Required. The RagFile to upload.", + "$ref": "GoogleCloudAiplatformV1RagFile" + }, + "uploadRagFileConfig": { + "description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile.", + "$ref": "GoogleCloudAiplatformV1UploadRagFileConfig" + } + } + }, + "GoogleCloudAiplatformV1RagFile": { + "id": "GoogleCloudAiplatformV1RagFile", + "description": "A RagFile contains user data for chunking, embedding and indexing.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "googleDriveSource": { + "description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1GoogleDriveSource" + }, + "directUploadSource": { + "description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1DirectUploadSource" + }, + "slackSource": { + "description": "The RagFile is imported from a Slack channel.", + "$ref": "GoogleCloudAiplatformV1SlackSource" + }, + "jiraSource": { + "description": "The RagFile is imported from a Jira query.", + "$ref": "GoogleCloudAiplatformV1JiraSource" + }, + "sharePointSources": { + "description": "The RagFile is imported from a SharePoint source.", + "$ref": "GoogleCloudAiplatformV1SharePointSources" + }, + "name": { + "description": "Output only. The resource name of the RagFile.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagFile.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this RagFile was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Timestamp when this RagFile was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "fileStatus": { + "description": "Output only. State of the RagFile.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1FileStatus" + }, + "userMetadata": { + "description": "Output only. The metadata for metadata search. The user_metadata Needs to be in JSON format.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GoogleDriveSource": { + "id": "GoogleCloudAiplatformV1GoogleDriveSource", + "description": "The Google Drive location for the input content.", + "type": "object", + "properties": { + "resourceIds": { + "description": "Required. Google Drive resource IDs.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId" + } + } + } + }, + "GoogleCloudAiplatformV1GoogleDriveSourceResourceId": { + "id": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId", + "description": "The type and ID of the Google Drive resource.", + "type": "object", + "properties": { + "resourceType": { + "description": "Required. The type of the Google Drive resource.", + "type": "string", + "enumDescriptions": [ + "Unspecified resource type.", + "File resource type.", + "Folder resource type." + ], + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "RESOURCE_TYPE_FILE", + "RESOURCE_TYPE_FOLDER" + ] + }, + "resourceId": { + "description": "Required. The ID of the Google Drive resource.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DirectUploadSource": { + "id": "GoogleCloudAiplatformV1DirectUploadSource", + "description": "The input content is encapsulated and uploaded in the request.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1SlackSource": { + "id": "GoogleCloudAiplatformV1SlackSource", + "description": "The Slack source for the ImportRagFilesRequest.", + "type": "object", + "properties": { + "channels": { + "description": "Required. The Slack channels.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannels" + } + } + } + }, + "GoogleCloudAiplatformV1SlackSourceSlackChannels": { + "id": "GoogleCloudAiplatformV1SlackSourceSlackChannels", + "description": "SlackChannels contains the Slack channels and corresponding access token.", + "type": "object", + "properties": { + "channels": { + "description": "Required. The Slack channel IDs.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel" + } + }, + "apiKeyConfig": { + "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token.", + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" + } + } + }, + "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel": { + "id": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel", + "description": "SlackChannel contains the Slack channel ID and the time range to import.", + "type": "object", + "properties": { + "channelId": { + "description": "Required. The Slack channel ID.", + "type": "string" + }, + "startTime": { + "description": "Optional. The starting timestamp for messages to import.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Optional. The ending timestamp for messages to import.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1JiraSource": { + "id": "GoogleCloudAiplatformV1JiraSource", + "description": "The Jira source for the ImportRagFilesRequest.", + "type": "object", + "properties": { + "jiraQueries": { + "description": "Required. The Jira queries.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1JiraSourceJiraQueries" + } + } + } + }, + "GoogleCloudAiplatformV1JiraSourceJiraQueries": { + "id": "GoogleCloudAiplatformV1JiraSourceJiraQueries", + "description": "JiraQueries contains the Jira queries and corresponding authentication.", + "type": "object", + "properties": { + "projects": { + "description": "A list of Jira projects to import in their entirety.", + "type": "array", + "items": { + "type": "string" + } + }, + "customQueries": { + "description": "A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/", + "type": "array", + "items": { + "type": "string" + } + }, + "email": { + "description": "Required. The Jira email address.", + "type": "string" + }, + "serverUri": { + "description": "Required. The Jira server URI.", + "type": "string" + }, + "apiKeyConfig": { + "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).", + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" + } + } + }, + "GoogleCloudAiplatformV1SharePointSources": { + "id": "GoogleCloudAiplatformV1SharePointSources", + "description": "The SharePointSources to pass to ImportRagFiles.", + "type": "object", + "properties": { + "sharePointSources": { + "description": "The SharePoint sources.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource" + } + } + } + }, + "GoogleCloudAiplatformV1SharePointSourcesSharePointSource": { + "id": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource", + "description": "An individual SharePointSource.", + "type": "object", + "properties": { + "sharepointFolderPath": { + "description": "The path of the SharePoint folder to download from.", + "type": "string" + }, + "sharepointFolderId": { + "description": "The ID of the SharePoint folder to download from.", + "type": "string" + }, + "driveName": { + "description": "The name of the drive to download from.", + "type": "string" + }, + "driveId": { + "description": "The ID of the drive to download from.", + "type": "string" + }, + "clientId": { + "description": "The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions \"Files.ReadAll\", \"Sites.ReadAll\" and BrowserSiteLists.Read.All.", + "type": "string" + }, + "clientSecret": { + "description": "The application secret for the app registered in Azure.", + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig" + }, + "tenantId": { + "description": "Unique identifier of the Azure Active Directory Instance.", + "type": "string" + }, + "sharepointSiteName": { + "description": "The name of the SharePoint site to download from. This can be the site name or the site id.", + "type": "string" + }, + "fileId": { + "description": "Output only. The SharePoint file id. Output only.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1FileStatus": { + "id": "GoogleCloudAiplatformV1FileStatus", + "description": "RagFile status.", + "type": "object", + "properties": { + "state": { + "description": "Output only. RagFile state.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "RagFile state is unspecified.", + "RagFile resource has been created and indexed successfully.", + "RagFile resource is in a problematic state. See `error_message` field for details." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ERROR" + ] + }, + "errorStatus": { + "description": "Output only. Only when the `state` field is ERROR.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UploadRagFileConfig": { + "id": "GoogleCloudAiplatformV1UploadRagFileConfig", + "description": "Config for uploading RagFile.", + "type": "object", + "properties": { + "ragFileTransformationConfig": { + "description": "Specifies the transformation config for RagFiles.", + "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig" + } + } + }, + "GoogleCloudAiplatformV1RagFileTransformationConfig": { + "id": "GoogleCloudAiplatformV1RagFileTransformationConfig", + "description": "Specifies the transformation config for RagFiles.", + "type": "object", + "properties": { + "ragFileChunkingConfig": { + "description": "Specifies the chunking config for RagFiles.", + "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfig" + } + } + }, + "GoogleCloudAiplatformV1RagFileChunkingConfig": { + "id": "GoogleCloudAiplatformV1RagFileChunkingConfig", + "description": "Specifies the size and overlap of chunks for RagFiles.", + "type": "object", + "properties": { + "fixedLengthChunking": { + "description": "Specifies the fixed length chunking config.", + "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking" + } + } + }, + "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking": { + "id": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", + "description": "Specifies the fixed length chunking config.", + "type": "object", + "properties": { + "chunkSize": { + "description": "The size of the chunks.", + "type": "integer", + "format": "int32" + }, + "chunkOverlap": { + "description": "The overlap between chunks.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1UploadRagFileResponse": { + "id": "GoogleCloudAiplatformV1UploadRagFileResponse", + "description": "Response message for VertexRagDataService.UploadRagFile.", + "type": "object", + "properties": { + "ragFile": { + "description": "The RagFile that had been uploaded into the RagCorpus.", + "$ref": "GoogleCloudAiplatformV1RagFile" + }, + "error": { + "description": "The error that occurred while processing the RagFile.", + "$ref": "GoogleRpcStatus" + } + } + }, + "GoogleCloudAiplatformV1ImportRagFilesRequest": { + "id": "GoogleCloudAiplatformV1ImportRagFilesRequest", + "description": "Request message for VertexRagDataService.ImportRagFiles.", + "type": "object", + "properties": { + "importRagFilesConfig": { + "description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles.", + "$ref": "GoogleCloudAiplatformV1ImportRagFilesConfig" + } + } + }, + "GoogleCloudAiplatformV1ImportRagFilesConfig": { + "id": "GoogleCloudAiplatformV1ImportRagFilesConfig", + "description": "Config for importing RagFiles.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory`", + "$ref": "GoogleCloudAiplatformV1GcsSource" + }, + "googleDriveSource": { + "description": "Google Drive location. Supports importing individual files as well as Google Drive folders.", + "$ref": "GoogleCloudAiplatformV1GoogleDriveSource" + }, + "slackSource": { + "description": "Slack channels with their corresponding access tokens.", + "$ref": "GoogleCloudAiplatformV1SlackSource" + }, + "jiraSource": { + "description": "Jira queries with their corresponding authentication.", + "$ref": "GoogleCloudAiplatformV1JiraSource" + }, + "sharePointSources": { + "description": "SharePoint sources.", + "$ref": "GoogleCloudAiplatformV1SharePointSources" + }, + "partialFailureGcsSink": { + "description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "partialFailureBigquerySink": { + "description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`.", + "deprecated": true, + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "importResultGcsSink": { + "description": "The Cloud Storage path to write import result to.", + "$ref": "GoogleCloudAiplatformV1GcsDestination" + }, + "importResultBigquerySink": { + "description": "The BigQuery destination to write import result to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table.", + "$ref": "GoogleCloudAiplatformV1BigQueryDestination" + }, + "ragFileTransformationConfig": { + "description": "Specifies the transformation config for RagFiles.", + "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig" + }, + "ragFileParsingConfig": { + "description": "Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set.", + "$ref": "GoogleCloudAiplatformV1RagFileParsingConfig" + }, + "maxEmbeddingRequestsPerMin": { + "description": "Optional. The max number of queries per minute that this job is allowed to make to the embedding model specified on the corpus. This value is specific to this job and not shared across other import jobs. Consult the Quotas page on the project to set an appropriate value here. If unspecified, a default value of 1,000 QPM would be used.", + "type": "integer", + "format": "int32" + }, + "rebuildAnnIndex": { + "description": "Rebuilds the ANN index to optimize for recall on the imported data. Only applicable for RagCorpora running on RagManagedDb with `retrieval_strategy` set to `ANN`. The rebuild will be performed using the existing ANN config set on the RagCorpus. To change the ANN config, please use the UpdateRagCorpus API. Default is false, i.e., index is not rebuilt.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1RagFileParsingConfig": { + "id": "GoogleCloudAiplatformV1RagFileParsingConfig", + "description": "Specifies the parsing config for RagFiles.", + "type": "object", + "properties": { + "layoutParser": { + "description": "The Layout Parser to use for RagFiles.", + "$ref": "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser" + }, + "llmParser": { + "description": "The LLM Parser to use for RagFiles.", + "$ref": "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser" + } + } + }, + "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser": { + "id": "GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser", + "description": "Document AI Layout Parser config.", + "type": "object", + "properties": { + "processorName": { + "description": "The full resource name of a Document AI processor or processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`. If specified, the `additional_config.parse_as_scanned_pdf` field must be false. Format: * `projects/{project_id}/locations/{location}/processors/{processor_id}` * `projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}`", + "type": "string" + }, + "maxParsingRequestsPerMin": { + "description": "The maximum number of requests the job is allowed to make to the Document AI processor per minute. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If unspecified, a default value of 120 QPM would be used.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser": { + "id": "GoogleCloudAiplatformV1RagFileParsingConfigLlmParser", + "description": "Specifies the LLM parsing for RagFiles.", + "type": "object", + "properties": { + "modelName": { + "description": "The name of a LLM model used for parsing. Format: * `projects/{project_id}/locations/{location}/publishers/{publisher}/models/{model}`", + "type": "string" + }, + "maxParsingRequestsPerMin": { + "description": "The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used.", + "type": "integer", + "format": "int32" + }, + "customParsingPrompt": { + "description": "The prompt to use for parsing. If not specified, a default prompt will be used.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ListRagFilesResponse": { + "id": "GoogleCloudAiplatformV1ListRagFilesResponse", + "description": "Response message for VertexRagDataService.ListRagFiles.", + "type": "object", + "properties": { + "ragFiles": { + "description": "List of RagFiles in the requested page.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RagFile" + } + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1RagEngineConfig": { + "id": "GoogleCloudAiplatformV1RagEngineConfig", + "description": "Config for RagEngine.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. The name of the RagEngineConfig. Format: `projects/{project}/locations/{location}/ragEngineConfig`", + "type": "string" + }, + "ragManagedDbConfig": { + "description": "The config of the RagManagedDb used by RagEngine.", + "$ref": "GoogleCloudAiplatformV1RagManagedDbConfig" + } + } + }, + "GoogleCloudAiplatformV1RagManagedDbConfig": { + "id": "GoogleCloudAiplatformV1RagManagedDbConfig", + "description": "Configuration message for RagManagedDb used by RagEngine.", + "type": "object", + "properties": { + "scaled": { + "description": "Sets the RagManagedDb to the Scaled tier. This is the default tier if not explicitly chosen.", + "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigScaled" + }, + "basic": { + "description": "Sets the RagManagedDb to the Basic tier.", + "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigBasic" + }, + "unprovisioned": { + "description": "Sets the RagManagedDb to the Unprovisioned tier.", + "$ref": "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned" + } + } + }, + "GoogleCloudAiplatformV1RagManagedDbConfigScaled": { + "id": "GoogleCloudAiplatformV1RagManagedDbConfigScaled", + "description": "Scaled tier offers production grade performance along with autoscaling functionality. It is suitable for customers with large amounts of data or performance sensitive workloads.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RagManagedDbConfigBasic": { + "id": "GoogleCloudAiplatformV1RagManagedDbConfigBasic", + "description": "Basic tier is a cost-effective and low compute tier suitable for the following cases: * Experimenting with RagManagedDb. * Small data size. * Latency insensitive workload. * Only using RAG Engine with external vector DBs. NOTE: This is the default tier if not explicitly chosen.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned": { + "id": "GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned", + "description": "Disables the RAG Engine service and deletes all your data held within this service. This will halt the billing of the service. NOTE: Once deleted the data cannot be recovered. To start using RAG Engine again, you will need to update the tier by calling the UpdateRagEngineConfig API.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1RetrieveContextsRequest": { + "id": "GoogleCloudAiplatformV1RetrieveContextsRequest", + "description": "Request message for VertexRagService.RetrieveContexts.", + "type": "object", + "properties": { + "vertexRagStore": { + "description": "The data source for Vertex RagStore.", + "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore" + }, + "query": { + "description": "Required. Single RAG retrieve query.", + "$ref": "GoogleCloudAiplatformV1RagQuery" + } + } + }, + "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore": { + "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", + "description": "The data source for Vertex RagStore.", + "type": "object", + "properties": { + "ragResources": { + "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource" + } + }, + "vectorDistanceThreshold": { + "description": "Optional. Only return contexts with vector distance smaller than the threshold.", + "deprecated": true, + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource": { + "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource", + "description": "The definition of the Rag resource.", + "type": "object", + "properties": { + "ragCorpus": { + "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "type": "string" + }, + "ragFileIds": { + "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1RagQuery": { + "id": "GoogleCloudAiplatformV1RagQuery", + "description": "A query to retrieve relevant contexts.", + "type": "object", + "properties": { + "text": { + "description": "Optional. The query in text format to get relevant contexts.", + "type": "string" + }, + "ragRetrievalConfig": { + "description": "Optional. The retrieval config for the query.", + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig" + } + } + }, + "GoogleCloudAiplatformV1RetrieveContextsResponse": { + "id": "GoogleCloudAiplatformV1RetrieveContextsResponse", + "description": "Response message for VertexRagService.RetrieveContexts.", + "type": "object", + "properties": { + "contexts": { + "description": "The contexts of the query.", + "$ref": "GoogleCloudAiplatformV1RagContexts" + } + } + }, + "GoogleCloudAiplatformV1RagContexts": { + "id": "GoogleCloudAiplatformV1RagContexts", + "description": "Relevant contexts for one query.", + "type": "object", + "properties": { + "contexts": { + "description": "All its contexts.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1RagContextsContext" + } + } + } + }, + "GoogleCloudAiplatformV1RagContextsContext": { + "id": "GoogleCloudAiplatformV1RagContextsContext", + "description": "A context of the query.", + "type": "object", + "properties": { + "sourceUri": { + "description": "If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", + "type": "string" + }, + "sourceDisplayName": { + "description": "The file display name.", + "type": "string" + }, + "text": { + "description": "The text chunk.", + "type": "string" + }, + "score": { + "description": "According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "type": "number", + "format": "double" + }, + "chunk": { + "description": "Context of the retrieved chunk.", + "$ref": "GoogleCloudAiplatformV1RagChunk" + } + } + }, + "GoogleCloudAiplatformV1AugmentPromptRequest": { + "id": "GoogleCloudAiplatformV1AugmentPromptRequest", + "description": "Request message for AugmentPrompt.", + "type": "object", + "properties": { + "vertexRagStore": { + "description": "Optional. Retrieves contexts from the Vertex RagStore.", + "$ref": "GoogleCloudAiplatformV1VertexRagStore" + }, + "contents": { + "description": "Optional. Input content to augment, only text format is supported for now.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "model": { + "description": "Optional. Metadata of the backend deployed model.", + "$ref": "GoogleCloudAiplatformV1AugmentPromptRequestModel" + } + } + }, + "GoogleCloudAiplatformV1AugmentPromptRequestModel": { + "id": "GoogleCloudAiplatformV1AugmentPromptRequestModel", + "description": "Metadata of the backend deployed model.", + "type": "object", + "properties": { + "model": { + "description": "Optional. The model that the user will send the augmented prompt for content generation.", + "type": "string" + }, + "modelVersion": { + "description": "Optional. The model version of the backend deployed model.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1AugmentPromptResponse": { + "id": "GoogleCloudAiplatformV1AugmentPromptResponse", + "description": "Response message for AugmentPrompt.", + "type": "object", + "properties": { + "augmentedPrompt": { + "description": "Augmented prompt, only text format is supported for now.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } + }, + "facts": { + "description": "Retrieved facts from RAG data sources.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Fact" + } + } + } + }, + "GoogleCloudAiplatformV1Fact": { + "id": "GoogleCloudAiplatformV1Fact", + "description": "The fact used in grounding.", + "type": "object", + "properties": { + "query": { + "description": "Query that is used to retrieve this fact.", + "type": "string" + }, + "title": { + "description": "If present, it refers to the title of this fact.", + "type": "string" + }, + "uri": { + "description": "If present, this uri links to the source of the fact.", + "type": "string" + }, + "summary": { + "description": "If present, the summary/snippet of the fact.", + "type": "string" + }, + "vectorDistance": { + "description": "If present, the distance between the query vector and this fact vector.", + "deprecated": true, + "type": "number", + "format": "double" + }, + "score": { + "description": "If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "type": "number", + "format": "double" + }, + "chunk": { + "description": "If present, chunk properties.", + "$ref": "GoogleCloudAiplatformV1RagChunk" + } + } + }, + "GoogleCloudAiplatformV1CorroborateContentRequest": { + "id": "GoogleCloudAiplatformV1CorroborateContentRequest", + "description": "Request message for CorroborateContent.", + "type": "object", + "properties": { + "content": { + "description": "Optional. Input content to corroborate, only text format is supported for now.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "facts": { + "description": "Optional. Facts used to generate the text can also be used to corroborate the text.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Fact" + } + }, + "parameters": { + "description": "Optional. Parameters that can be set to override default settings per request.", + "$ref": "GoogleCloudAiplatformV1CorroborateContentRequestParameters" + } + } + }, + "GoogleCloudAiplatformV1CorroborateContentRequestParameters": { + "id": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", + "description": "Parameters that can be overrided per request.", + "type": "object", + "properties": { + "citationThreshold": { + "description": "Optional. Only return claims with citation score larger than the threshold.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1CorroborateContentResponse": { + "id": "GoogleCloudAiplatformV1CorroborateContentResponse", + "description": "Response message for CorroborateContent.", + "type": "object", + "properties": { + "corroborationScore": { + "description": "Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence.", + "type": "number", + "format": "float" + }, + "claims": { + "description": "Claims that are extracted from the input content and facts that support the claims.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Claim" + } + } + } + }, + "GoogleCloudAiplatformV1Claim": { + "id": "GoogleCloudAiplatformV1Claim", + "description": "Claim that is extracted from the input text and facts that support it.", + "type": "object", + "properties": { + "startIndex": { + "description": "Index in the input text where the claim starts (inclusive).", + "type": "integer", + "format": "int32" + }, + "endIndex": { + "description": "Index in the input text where the claim ends (exclusive).", + "type": "integer", + "format": "int32" + }, + "factIndexes": { + "description": "Indexes of the facts supporting this claim.", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "score": { + "description": "Confidence score of this corroboration.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata": { + "id": "GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata", + "description": "Metadata information for NotebookService.AssignNotebookRuntime.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1GenericOperationMetadata": { + "id": "GoogleCloudAiplatformV1GenericOperationMetadata", + "description": "Generic Metadata shared by all operations.", + "type": "object", + "properties": { + "partialFailures": { + "description": "Output only. Partial failures encountered. E.g. single files that couldn't be read. This field should never exceed 20 entries. Status details field will contain standard Google Cloud error details.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "GoogleRpcStatus" + } + }, + "createTime": { + "description": "Output only. Time when the operation was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. Time when the operation was updated for the last time. If the operation has finished (successfully or not), this is the finish time.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata": { + "id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata", + "description": "Runtime operation information for MigrationService.BatchMigrateResources.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "partialResults": { + "description": "Partial results that reflect the latest migration operation progress.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult" + } + } + } + }, + "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult": { + "id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult", + "description": "Represents a partial result in batch migration operation for one MigrateResourceRequest.", + "type": "object", + "properties": { + "error": { + "description": "The error result of the migration request in case of failure.", + "$ref": "GoogleRpcStatus" + }, + "model": { + "description": "Migrated model resource name.", + "type": "string" + }, + "dataset": { + "description": "Migrated dataset resource name.", + "type": "string" + }, + "request": { + "description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests.", + "$ref": "GoogleCloudAiplatformV1MigrateResourceRequest" + } + } + }, + "GoogleCloudAiplatformV1BatchMigrateResourcesResponse": { + "id": "GoogleCloudAiplatformV1BatchMigrateResourcesResponse", + "description": "Response message for MigrationService.BatchMigrateResources.", + "type": "object", + "properties": { + "migrateResourceResponses": { + "description": "Successfully migrated resources.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1MigrateResourceResponse" + } + } + } + }, + "GoogleCloudAiplatformV1MigrateResourceResponse": { + "id": "GoogleCloudAiplatformV1MigrateResourceResponse", + "description": "Describes a successfully migrated resource.", + "type": "object", + "properties": { + "dataset": { + "description": "Migrated Dataset's resource name.", + "type": "string" + }, + "model": { + "description": "Migrated Model's resource name.", + "type": "string" + }, + "migratableResource": { + "description": "Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or datalabeling.googleapis.com.", + "$ref": "GoogleCloudAiplatformV1MigratableResource" + } + } + }, + "GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata": { + "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata", + "description": "Details of operations that batch reads Feature values.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore batch read Features values.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1BatchReadFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1BatchReadFeatureValuesResponse", + "description": "Response message for FeaturestoreService.BatchReadFeatureValues.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata": { + "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata", + "description": "This message will be placed in the metadata field of a google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for suggesting Trials.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "study": { + "description": "The name of the Study that the Trial belongs to.", + "type": "string" + }, + "trial": { + "description": "The Trial name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse": { + "id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse", + "description": "Response message for VizierService.CheckTrialEarlyStoppingState.", + "type": "object", + "properties": { + "shouldStop": { + "description": "True if the Trial should stop.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata", + "description": "Runtime operation information for CreateDeploymentResourcePool method.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateFeatureOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateFeatureOperationMetadata", + "description": "Details of operations that perform create Feature.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Feature.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata", + "description": "Details of operations that perform create Featurestore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata", + "description": "Details of operations that perform create FeatureGroup.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureGroup.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata", + "description": "Details of operations that perform create FeatureGroup.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Feature.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata", + "description": "Details of operations that perform create FeatureOnlineStore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata", + "description": "Details of operations that perform create FeatureView.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureView Create.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata", + "description": "Details of operations that perform update FeatureOnlineStore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureOnlineStore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata", + "description": "Details of operations that perform update FeatureView.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureView Update.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateEndpointOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateEndpointOperationMetadata", + "description": "Runtime operation information for EndpointService.CreateEndpoint.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "deploymentStage": { + "description": "Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated.", + "The deployment has succeeded.", + "The deployment has failed." + ], + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED", + "SUCCESSFULLY_DEPLOYED", + "FAILED_TO_DEPLOY" + ] + } + } + }, + "GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata", + "description": "Details of operations that perform MetadataService.CreateMetadataStore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for creating a MetadataStore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata", + "description": "Metadata information for NotebookService.CreateNotebookExecutionJob.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata", + "description": "Metadata information for NotebookService.CreateNotebookRuntimeTemplate.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata", + "description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateIndexOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateIndexOperationMetadata", + "description": "Runtime operation information for IndexService.CreateIndex.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "nearestNeighborSearchOperationMetadata": { + "description": "The operation metadata with regard to Matching Engine Index operation.", + "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata": { + "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata", + "description": "Runtime operation metadata with regard to Matching Engine Index.", + "type": "object", + "properties": { + "contentValidationStats": { + "description": "The validation stats of the content (per file) to be inserted or updated on the Matching Engine Index resource. Populated if contentsDeltaUri is provided as part of Index.metadata. Please note that, currently for those files that are broken or has unsupported file format, we will not have the stats for those files.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats" + } + }, + "dataBytesCount": { + "description": "The ingested data size in bytes.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats": { + "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats", + "type": "object", + "properties": { + "sourceGcsUri": { + "description": "Cloud Storage URI pointing to the original file in user's bucket.", + "type": "string" + }, + "validRecordCount": { + "description": "Number of records in this file that were successfully processed.", + "type": "string", + "format": "int64" + }, + "invalidRecordCount": { + "description": "Number of records in this file we skipped due to validate errors.", + "type": "string", + "format": "int64" + }, + "partialErrors": { + "description": "The detail information of the partial failures encountered for those invalid records that couldn't be parsed. Up to 50 partial errors will be reported.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError" + } + }, + "validSparseRecordCount": { + "description": "Number of sparse records in this file that were successfully processed.", + "type": "string", + "format": "int64" + }, + "invalidSparseRecordCount": { + "description": "Number of sparse records in this file we skipped due to validate errors.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError": { + "id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError", + "type": "object", + "properties": { + "errorType": { + "description": "The error type of this record.", + "type": "string", + "enumDescriptions": [ + "Default, shall not be used.", + "The record is empty.", + "Invalid json format.", + "Invalid csv format.", + "Invalid avro format.", + "The embedding id is not valid.", + "The size of the dense embedding vectors does not match with the specified dimension.", + "The `namespace` field is missing.", + "Generic catch-all error. Only used for validation failure where the root cause cannot be easily retrieved programmatically.", + "There are multiple restricts with the same `namespace` value.", + "Numeric restrict has operator specified in datapoint.", + "Numeric restrict has multiple values specified.", + "Numeric restrict has invalid numeric value specified.", + "File is not in UTF_8 format.", + "Error parsing sparse dimensions field.", + "Token restrict value is invalid.", + "Invalid sparse embedding.", + "Invalid dense embedding.", + "Invalid embedding metadata.", + "Embedding metadata exceeds size limit." + ], + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "EMPTY_LINE", + "INVALID_JSON_SYNTAX", + "INVALID_CSV_SYNTAX", + "INVALID_AVRO_SYNTAX", + "INVALID_EMBEDDING_ID", + "EMBEDDING_SIZE_MISMATCH", + "NAMESPACE_MISSING", + "PARSING_ERROR", + "DUPLICATE_NAMESPACE", + "OP_IN_DATAPOINT", + "MULTIPLE_VALUES", + "INVALID_NUMERIC_VALUE", + "INVALID_ENCODING", + "INVALID_SPARSE_DIMENSIONS", + "INVALID_TOKEN_VALUE", + "INVALID_SPARSE_EMBEDDING", + "INVALID_EMBEDDING", + "INVALID_EMBEDDING_METADATA", + "EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT" + ] + }, + "errorMessage": { + "description": "A human-readable message that is shown to the user to help them fix the error. Note that this message may change from time to time, your code should check against error_type as the source of truth.", + "type": "string" + }, + "sourceGcsUri": { + "description": "Cloud Storage URI pointing to the original file in user's bucket.", + "type": "string" + }, + "embeddingId": { + "description": "Empty if the embedding id is failed to parse.", + "type": "string" + }, + "rawRecord": { + "description": "The original content of this record.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata", + "description": "Runtime operation information for IndexEndpointService.CreateIndexEndpoint.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata", + "description": "Details of operations that perform create EntityType.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for EntityType.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateTensorboardOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateTensorboardOperationMetadata", + "description": "Details of operations that perform create Tensorboard.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Tensorboard.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata": { + "id": "GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata", + "description": "Details of operations that perform batch create Features.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Feature.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1BatchCreateFeaturesResponse": { + "id": "GoogleCloudAiplatformV1BatchCreateFeaturesResponse", + "description": "Response message for FeaturestoreService.BatchCreateFeatures.", + "type": "object", + "properties": { + "features": { + "description": "The Features created.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Feature" + } + } + } + }, + "GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata", + "description": "Details of operations that perform create PersistentResource.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for PersistentResource.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "Progress Message for Create LRO", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata", + "description": "Details of operations that delete Feature values.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore delete Features values.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponse", + "description": "Response message for FeaturestoreService.DeleteFeatureValues.", + "type": "object", + "properties": { + "selectEntity": { + "description": "Response for request specifying the entities to delete", + "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity" + }, + "selectTimeRangeAndFeature": { + "description": "Response for request specifying time range and feature", + "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity", + "description": "Response message if the request uses the SelectEntity option.", + "type": "object", + "properties": { + "offlineStorageDeletedEntityRowCount": { + "description": "The count of deleted entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage.", + "type": "string", + "format": "int64" + }, + "onlineStorageDeletedEntityCount": { + "description": "The count of deleted entities in the online storage. Each entity ID corresponds to one entity.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature": { + "id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", + "description": "Response message if the request uses the SelectTimeRangeAndFeature option.", + "type": "object", + "properties": { + "impactedFeatureCount": { + "description": "The count of the features or columns impacted. This is the same as the feature count in the request.", + "type": "string", + "format": "int64" + }, + "offlineStorageModifiedEntityRowCount": { + "description": "The count of modified entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage. Within each row, only the features specified in the request are deleted.", + "type": "string", + "format": "int64" + }, + "onlineStorageModifiedEntityCount": { + "description": "The count of modified entities in the online storage. Each entity ID corresponds to one entity. Within each entity, only the features specified in the request are deleted.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1DeleteOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeleteOperationMetadata", + "description": "Details of operations that perform deletes of any entities.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata", + "description": "Details of operations that perform MetadataService.DeleteMetadataStore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for deleting a MetadataStore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1DeployModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeployModelOperationMetadata", + "description": "Runtime operation information for EndpointService.DeployModel.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "deploymentStage": { + "description": "Output only. The deployment stage of the model.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated.", + "The deployment has succeeded.", + "The deployment has failed." + ], + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED", + "SUCCESSFULLY_DEPLOYED", + "FAILED_TO_DEPLOY" + ] + } + } + }, + "GoogleCloudAiplatformV1DeployModelResponse": { + "id": "GoogleCloudAiplatformV1DeployModelResponse", + "description": "Response message for EndpointService.DeployModel.", + "type": "object", + "properties": { + "deployedModel": { + "description": "The DeployedModel that had been deployed in the Endpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedModel" + } + } + }, + "GoogleCloudAiplatformV1DeployIndexOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeployIndexOperationMetadata", + "description": "Runtime operation information for IndexEndpointService.DeployIndex.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "deployedIndexId": { + "description": "The unique index id specified by user", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployIndexResponse": { + "id": "GoogleCloudAiplatformV1DeployIndexResponse", + "description": "Response message for IndexEndpointService.DeployIndex.", + "type": "object", + "properties": { + "deployedIndex": { + "description": "The DeployedIndex that had been deployed in the IndexEndpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedIndex" + } + } + }, + "GoogleCloudAiplatformV1ExportDataOperationMetadata": { + "id": "GoogleCloudAiplatformV1ExportDataOperationMetadata", + "description": "Runtime operation information for DatasetService.ExportData.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "gcsOutputDirectory": { + "description": "A Google Cloud Storage directory which path ends with '/'. The exported data is stored in the directory.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExportDataResponse": { + "id": "GoogleCloudAiplatformV1ExportDataResponse", + "description": "Response message for DatasetService.ExportData.", + "type": "object", + "properties": { + "exportedFiles": { + "description": "All of the files that are exported in this export operation. For custom code training export, only three (training, validation and test) Cloud Storage paths in wildcard format are populated (for example, gs://.../training-*).", + "type": "array", + "items": { + "type": "string" + } + }, + "dataStats": { + "description": "Only present for custom code training export use case. Records data stats, i.e., train/validation/test item/annotation counts calculated during the export operation.", + "$ref": "GoogleCloudAiplatformV1ModelDataStats" + } + } + }, + "GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata": { + "id": "GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata", + "description": "Details of operations that exports Features values.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore export Feature values.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1ExportFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1ExportFeatureValuesResponse", + "description": "Response message for FeaturestoreService.ExportFeatureValues.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ExportModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1ExportModelOperationMetadata", + "description": "Details of ModelService.ExportModel operation.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "outputInfo": { + "description": "Output only. Information further describing the output of this Model export.", + "readOnly": true, + "$ref": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo" + } + } + }, + "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo": { + "id": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo", + "description": "Further describes the output of the ExportModel. Supplements ExportModelRequest.OutputConfig.", + "type": "object", + "properties": { + "artifactOutputUri": { + "description": "Output only. If the Model artifact is being exported to Google Cloud Storage this is the full path of the directory created, into which the Model files are being written to.", + "readOnly": true, + "type": "string" + }, + "imageOutputUri": { + "description": "Output only. If the Model image is being exported to Google Container Registry or Artifact Registry this is the full path of the image created.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ExportModelResponse": { + "id": "GoogleCloudAiplatformV1ExportModelResponse", + "description": "Response message of ModelService.ExportModel operation.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1GenerateVideoResponse": { + "id": "GoogleCloudAiplatformV1GenerateVideoResponse", + "description": "Generate video response.", + "type": "object", + "properties": { + "generatedSamples": { + "description": "The cloud storage uris of the generated videos.", + "deprecated": true, + "type": "array", + "items": { + "type": "string" + } + }, + "raiMediaFilteredCount": { + "description": "Returns if any videos were filtered due to RAI policies.", + "type": "integer", + "format": "int32" + }, + "raiMediaFilteredReasons": { + "description": "Returns rai failure reasons if any.", + "type": "array", + "items": { + "type": "string" + } + }, + "videos": { + "description": "List of video bytes or Cloud Storage URIs of the generated videos.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1GenerateVideoResponseVideo" + } + } + } + }, + "GoogleCloudAiplatformV1GenerateVideoResponseVideo": { + "id": "GoogleCloudAiplatformV1GenerateVideoResponseVideo", + "description": "A generated video.", + "type": "object", + "properties": { + "gcsUri": { + "description": "Cloud Storage URI where the generated video is written.", + "type": "string" + }, + "bytesBase64Encoded": { + "description": "Base64 encoded bytes string representing the video.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. - video/mp4", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1ImportDataOperationMetadata": { + "id": "GoogleCloudAiplatformV1ImportDataOperationMetadata", + "description": "Runtime operation information for DatasetService.ImportData.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1ImportDataResponse": { + "id": "GoogleCloudAiplatformV1ImportDataResponse", + "description": "Response message for DatasetService.ImportData.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata": { + "id": "GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata", + "description": "Details of operations that perform import Feature values.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore import Feature values.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "importedEntityCount": { + "description": "Number of entities that have been imported by the operation.", + "type": "string", + "format": "int64" + }, + "importedFeatureValueCount": { + "description": "Number of Feature values that have been imported by the operation.", + "type": "string", + "format": "int64" + }, + "sourceUris": { + "description": "The source URI from where Feature values are imported.", + "type": "array", + "items": { + "type": "string" + } + }, + "invalidRowCount": { + "description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", + "type": "string", + "format": "int64" + }, + "timestampOutsideRetentionRowsCount": { + "description": "The number rows that weren't ingested due to having timestamps outside the retention boundary.", + "type": "string", + "format": "int64" + }, + "blockingOperationIds": { + "description": "List of ImportFeatureValues operations running under a single EntityType that are blocking this operation.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "GoogleCloudAiplatformV1ImportFeatureValuesResponse": { + "id": "GoogleCloudAiplatformV1ImportFeatureValuesResponse", + "description": "Response message for FeaturestoreService.ImportFeatureValues.", + "type": "object", + "properties": { + "importedEntityCount": { + "description": "Number of entities that have been imported by the operation.", + "type": "string", + "format": "int64" + }, + "importedFeatureValueCount": { + "description": "Number of Feature values that have been imported by the operation.", + "type": "string", + "format": "int64" + }, + "invalidRowCount": { + "description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", + "type": "string", + "format": "int64" + }, + "timestampOutsideRetentionRowsCount": { + "description": "The number rows that weren't ingested due to having feature timestamps outside the retention boundary.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata": { + "id": "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata", + "description": "Runtime operation information for IndexEndpointService.MutateDeployedIndex.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "deployedIndexId": { + "description": "The unique index id specified by user", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1MutateDeployedIndexResponse": { + "id": "GoogleCloudAiplatformV1MutateDeployedIndexResponse", + "description": "Response message for IndexEndpointService.MutateDeployedIndex.", + "type": "object", + "properties": { + "deployedIndex": { + "description": "The DeployedIndex that had been updated in the IndexEndpoint.", + "$ref": "GoogleCloudAiplatformV1DeployedIndex" + } + } + }, + "GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata", + "description": "Runtime operation information for EndpointService.MutateDeployedModel.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1MutateDeployedModelResponse": { + "id": "GoogleCloudAiplatformV1MutateDeployedModelResponse", + "description": "Response message for EndpointService.MutateDeployedModel.", + "type": "object", + "properties": { + "deployedModel": { + "description": "The DeployedModel that's being mutated.", + "$ref": "GoogleCloudAiplatformV1DeployedModel" + } + } + }, + "GoogleCloudAiplatformV1PurgeArtifactsResponse": { + "id": "GoogleCloudAiplatformV1PurgeArtifactsResponse", + "description": "Response message for MetadataService.PurgeArtifacts.", + "type": "object", + "properties": { + "purgeCount": { + "description": "The number of Artifacts that this request deleted (or, if `force` is false, the number of Artifacts that will be deleted). This can be an estimate.", + "type": "string", + "format": "int64" + }, + "purgeSample": { + "description": "A sample of the Artifact names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PurgeArtifactsMetadata": { + "id": "GoogleCloudAiplatformV1PurgeArtifactsMetadata", + "description": "Details of operations that perform MetadataService.PurgeArtifacts.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for purging Artifacts.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1PurgeContextsMetadata": { + "id": "GoogleCloudAiplatformV1PurgeContextsMetadata", + "description": "Details of operations that perform MetadataService.PurgeContexts.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for purging Contexts.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1PurgeContextsResponse": { + "id": "GoogleCloudAiplatformV1PurgeContextsResponse", + "description": "Response message for MetadataService.PurgeContexts.", + "type": "object", + "properties": { + "purgeCount": { + "description": "The number of Contexts that this request deleted (or, if `force` is false, the number of Contexts that will be deleted). This can be an estimate.", + "type": "string", + "format": "int64" + }, + "purgeSample": { + "description": "A sample of the Context names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PurgeExecutionsResponse": { + "id": "GoogleCloudAiplatformV1PurgeExecutionsResponse", + "description": "Response message for MetadataService.PurgeExecutions.", + "type": "object", + "properties": { + "purgeCount": { + "description": "The number of Executions that this request deleted (or, if `force` is false, the number of Executions that will be deleted). This can be an estimate.", + "type": "string", + "format": "int64" + }, + "purgeSample": { + "description": "A sample of the Execution names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1PurgeExecutionsMetadata": { + "id": "GoogleCloudAiplatformV1PurgeExecutionsMetadata", + "description": "Details of operations that perform MetadataService.PurgeExecutions.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for purging Executions.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata": { + "id": "GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata", + "description": "Details of operations that perform reboot PersistentResource.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for PersistentResource.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "Progress Message for Reboot LRO", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata": { + "id": "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata", + "description": "Metadata information for NotebookService.StartNotebookRuntime.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SuggestTrialsMetadata": { + "id": "GoogleCloudAiplatformV1SuggestTrialsMetadata", + "description": "Details of operations that perform Trials suggestion.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for suggesting Trials.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "clientId": { + "description": "The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SuggestTrialsResponse": { + "id": "GoogleCloudAiplatformV1SuggestTrialsResponse", + "description": "Response message for VizierService.SuggestTrials.", + "type": "object", + "properties": { + "trials": { + "description": "A list of Trials.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Trial" + } + }, + "studyState": { + "description": "The state of the Study.", + "type": "string", + "enumDescriptions": [ + "The study state is unspecified.", + "The study is active.", + "The study is stopped due to an internal error.", + "The study is done when the service exhausts the parameter search space or max_trial_count is reached." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "COMPLETED" + ] + }, + "startTime": { + "description": "The time at which the operation was started.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "The time at which operation processing completed.", + "type": "string", + "format": "google-datetime" + } + } + }, + "GoogleCloudAiplatformV1UndeployModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1UndeployModelOperationMetadata", + "description": "Runtime operation information for EndpointService.UndeployModel.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UndeployModelResponse": { + "id": "GoogleCloudAiplatformV1UndeployModelResponse", + "description": "Response message for EndpointService.UndeployModel.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1UndeployIndexOperationMetadata": { + "id": "GoogleCloudAiplatformV1UndeployIndexOperationMetadata", + "description": "Runtime operation information for IndexEndpointService.UndeployIndex.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UndeployIndexResponse": { + "id": "GoogleCloudAiplatformV1UndeployIndexResponse", + "description": "Response message for IndexEndpointService.UndeployIndex.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata", + "description": "Runtime operation information for UpdateDeploymentResourcePool method.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata", + "description": "Runtime operation information for ModelService.UpdateExplanationDataset.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateExplanationDatasetResponse": { + "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetResponse", + "description": "Response message of ModelService.UpdateExplanationDataset operation.", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata", + "description": "Runtime operation information for JobService.UpdateModelDeploymentMonitoringJob.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata", + "description": "Details of operations that perform update FeatureGroup.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for FeatureGroup.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateFeatureOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateFeatureOperationMetadata", + "description": "Details of operations that perform update Feature.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Feature Update.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata", + "description": "Details of operations that perform update Featurestore.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Featurestore.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata", + "description": "Details of operations that perform update PersistentResource.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for PersistentResource.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "Progress Message for Update LRO", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata", + "description": "Runtime operation metadata for SpecialistPoolService.UpdateSpecialistPool.", + "type": "object", + "properties": { + "specialistPool": { + "description": "Output only. The name of the SpecialistPool to which the specialists are being added. Format: `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}`", + "readOnly": true, + "type": "string" + }, + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata", + "description": "Details of operations that perform update Tensorboard.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "Operation metadata for Tensorboard.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpdateIndexOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpdateIndexOperationMetadata", + "description": "Runtime operation information for IndexService.UpdateIndex.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "nearestNeighborSearchOperationMetadata": { + "description": "The operation metadata with regard to Matching Engine Index operation.", + "$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata": { + "id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata", + "description": "Metadata information for NotebookService.UpgradeNotebookRuntime.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "progressMessage": { + "description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1UploadModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1UploadModelOperationMetadata", + "description": "Details of ModelService.UploadModel operation.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1UploadModelResponse": { + "id": "GoogleCloudAiplatformV1UploadModelResponse", + "description": "Response message of ModelService.UploadModel operation.", + "type": "object", + "properties": { + "model": { + "description": "The name of the uploaded Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + }, + "modelVersionId": { + "description": "Output only. The version ID of the model that is uploaded.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CopyModelOperationMetadata": { + "id": "GoogleCloudAiplatformV1CopyModelOperationMetadata", + "description": "Details of ModelService.CopyModel operation.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CopyModelResponse": { + "id": "GoogleCloudAiplatformV1CopyModelResponse", + "description": "Response message of ModelService.CopyModel operation.", + "type": "object", + "properties": { + "model": { + "description": "The name of the copied Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", + "type": "string" + }, + "modelVersionId": { + "description": "Output only. The version ID of the model that is copied.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics", + "description": "Bounding box matching model metrics for a single intersection-over-union threshold and multiple label match confidence thresholds.", + "type": "object", + "properties": { + "iouThreshold": { + "description": "The intersection-over-union threshold value used to compute this metrics entry.", + "type": "number", + "format": "float" + }, + "meanAveragePrecision": { + "description": "The mean average precision, most often close to `auPrc`.", + "type": "number", + "format": "float" + }, + "confidenceMetrics": { + "description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics", + "description": "Metrics for a single confidence threshold.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The confidence threshold value used to compute the metrics.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Recall under the given confidence threshold.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Precision under the given confidence threshold.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "The harmonic mean of recall and precision.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics", + "description": "Metrics for classification evaluation results.", + "type": "object", + "properties": { + "auPrc": { + "description": "The Area Under Precision-Recall Curve metric. Micro-averaged for the overall evaluation.", + "type": "number", + "format": "float" + }, + "auRoc": { + "description": "The Area Under Receiver Operating Characteristic curve metric. Micro-averaged for the overall evaluation.", + "type": "number", + "format": "float" + }, + "logLoss": { + "description": "The Log Loss metric.", + "type": "number", + "format": "float" + }, + "confidenceMetrics": { + "description": "Metrics for each `confidenceThreshold` in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` = INT32_MAX_VALUE. ROC and precision-recall curves, and other aggregated metrics are derived from them. The confidence metrics entries may also be supplied for additional values of `positionThreshold`, but from these no aggregated metrics are computed.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics" + } + }, + "confusionMatrix": { + "description": "Confusion matrix of the evaluation.", + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "Metrics are computed with an assumption that the Model always returns at most this many predictions (ordered by their score, descendingly), but they all still need to meet the `confidenceThreshold`.", + "type": "integer", + "format": "int32" + }, + "recall": { + "description": "Recall (True Positive Rate) for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Precision for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "falsePositiveRate": { + "description": "False Positive Rate for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "The harmonic mean of recall and precision. For summary metrics, it computes the micro-averaged F1 score.", + "type": "number", + "format": "float" + }, + "f1ScoreMicro": { + "description": "Micro-averaged F1 Score.", + "type": "number", + "format": "float" + }, + "f1ScoreMacro": { + "description": "Macro-averaged F1 Score.", + "type": "number", + "format": "float" + }, + "recallAt1": { + "description": "The Recall (True Positive Rate) when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", + "type": "number", + "format": "float" + }, + "precisionAt1": { + "description": "The precision when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", + "type": "number", + "format": "float" + }, + "falsePositiveRateAt1": { + "description": "The False Positive Rate when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", + "type": "number", + "format": "float" + }, + "f1ScoreAt1": { + "description": "The harmonic mean of recallAt1 and precisionAt1.", + "type": "number", + "format": "float" + }, + "truePositiveCount": { + "description": "The number of Model created labels that match a ground truth label.", + "type": "string", + "format": "int64" + }, + "falsePositiveCount": { + "description": "The number of Model created labels that do not match a ground truth label.", + "type": "string", + "format": "int64" + }, + "falseNegativeCount": { + "description": "The number of ground truth labels that are not matched by a Model created label.", + "type": "string", + "format": "int64" + }, + "trueNegativeCount": { + "description": "The number of labels that were not created by the Model, but if they would, they would not match a ground truth label.", + "type": "string", + "format": "int64" + }, + "confusionMatrix": { + "description": "Confusion matrix of the evaluation for this confidence_threshold.", + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", + "type": "object", + "properties": { + "annotationSpecs": { + "description": "AnnotationSpecs used in the confusion matrix. For AutoML Text Extraction, a special negative AnnotationSpec with empty `id` and `displayName` of \"NULL\" will be added as the last element.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef" + } + }, + "rows": { + "description": "Rows in the confusion matrix. The number of rows is equal to the size of `annotationSpecs`. `rowsi` is the number of DataItems that have ground truth of the `annotationSpecs[i]` and are predicted as `annotationSpecs[j]` by the Model being evaluated. For Text Extraction, when `annotationSpecs[i]` is the last element in `annotationSpecs`, i.e. the special negative AnnotationSpec, `rowsi` is the number of predicted entities of `annoatationSpec[j]` that are not labeled as any of the ground truth AnnotationSpec. When annotationSpecs[j] is the special negative AnnotationSpec, `rowsi` is the number of entities have ground truth of `annotationSpec[i]` that are not predicted as an entity by the Model. The value of the last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is the special negative AnnotationSpec, is always 0.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "any" + } + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef", + "type": "object", + "properties": { + "id": { + "description": "ID of the AnnotationSpec.", + "type": "string" + }, + "displayName": { + "description": "Display name of the AnnotationSpec.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics", + "description": "Metrics for forecasting evaluation results.", + "type": "object", + "properties": { + "rootMeanSquaredError": { + "description": "Root Mean Squared Error (RMSE).", + "type": "number", + "format": "float" + }, + "meanAbsoluteError": { + "description": "Mean Absolute Error (MAE).", + "type": "number", + "format": "float" + }, + "meanAbsolutePercentageError": { + "description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", + "type": "number", + "format": "float" + }, + "rSquared": { + "description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", + "type": "number", + "format": "float" + }, + "rootMeanSquaredLogError": { + "description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", + "type": "number", + "format": "float" + }, + "quantileMetrics": { + "description": "The quantile metrics entries for each quantile.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry" + } + }, + "weightedAbsolutePercentageError": { + "description": "Weighted Absolute Percentage Error. Does not use weights, this is just what the metric is called. Undefined if actual values sum to zero. Will be very large if actual values sum to a very small number.", + "type": "number", + "format": "float" + }, + "rootMeanSquaredPercentageError": { + "description": "Root Mean Square Percentage Error. Square root of MSPE. Undefined/imaginary when MSPE is negative.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry", + "description": "Entry for the Quantiles loss type optimization objective.", + "type": "object", + "properties": { + "quantile": { + "description": "The quantile for this entry.", + "type": "number", + "format": "double" + }, + "scaledPinballLoss": { + "description": "The scaled pinball loss of this quantile.", + "type": "number", + "format": "float" + }, + "observedQuantile": { + "description": "This is a custom metric that calculates the percentage of true values that were less than the predicted value for that quantile. Only populated when optimization_objective is minimize-quantile-loss and each entry corresponds to an entry in quantiles The percent value can be used to compare with the quantile value, which is the target value.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics", + "type": "object", + "properties": { + "bleu": { + "description": "BLEU (bilingual evaluation understudy) scores based on sacrebleu implementation.", + "type": "number", + "format": "float" + }, + "rougeLSum": { + "description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics", + "description": "Metrics for image object detection evaluation results.", + "type": "object", + "properties": { + "evaluatedBoundingBoxCount": { + "description": "The total number of bounding boxes (i.e. summed over all images) the ground truth used to create this evaluation had.", + "type": "integer", + "format": "int32" + }, + "boundingBoxMetrics": { + "description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" + } + }, + "boundingBoxMeanAveragePrecision": { + "description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetricsEntries`.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics", + "description": "Metrics for image segmentation evaluation results.", + "type": "object", + "properties": { + "confidenceMetricsEntries": { + "description": "Metrics for each confidenceThreshold in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve can be derived from it.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "Metrics are computed with an assumption that the model never returns predictions with score lower than this value.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Recall (True Positive Rate) for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Precision for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "diceScoreCoefficient": { + "description": "DSC or the F1 score, The harmonic mean of recall and precision.", + "type": "number", + "format": "float" + }, + "iouScore": { + "description": "The intersection-over-union score. The measure of overlap of the annotation's category mask with ground truth category mask on the DataItem.", + "type": "number", + "format": "float" + }, + "confusionMatrix": { + "description": "Confusion matrix for the given confidence threshold.", + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics", + "type": "object", + "properties": { + "exactMatch": { + "description": "The rate at which the input predicted strings exactly match their references.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics", + "description": "Metrics for regression evaluation results.", + "type": "object", + "properties": { + "rootMeanSquaredError": { + "description": "Root Mean Squared Error (RMSE).", + "type": "number", + "format": "float" + }, + "meanAbsoluteError": { + "description": "Mean Absolute Error (MAE).", + "type": "number", + "format": "float" + }, + "meanAbsolutePercentageError": { + "description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", + "type": "number", + "format": "float" + }, + "rSquared": { + "description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", + "type": "number", + "format": "float" + }, + "rootMeanSquaredLogError": { + "description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics", + "type": "object", + "properties": { + "rougeLSum": { + "description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics", + "description": "Metrics for text extraction evaluation results.", + "type": "object", + "properties": { + "confidenceMetrics": { + "description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from them.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics" + } + }, + "confusionMatrix": { + "description": "Confusion matrix of the evaluation. Only set for Models where number of AnnotationSpecs is no more than 10. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Recall (True Positive Rate) for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Precision for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "The harmonic mean of recall and precision.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics", + "description": "Model evaluation metrics for text sentiment problems.", + "type": "object", + "properties": { + "precision": { + "description": "Precision.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Recall.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "The harmonic mean of recall and precision.", + "type": "number", + "format": "float" + }, + "meanAbsoluteError": { + "description": "Mean absolute error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "type": "number", + "format": "float" + }, + "meanSquaredError": { + "description": "Mean squared error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "type": "number", + "format": "float" + }, + "linearKappa": { + "description": "Linear weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "type": "number", + "format": "float" + }, + "quadraticKappa": { + "description": "Quadratic weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "type": "number", + "format": "float" + }, + "confusionMatrix": { + "description": "Confusion matrix of the evaluation. Only set for ModelEvaluations, not for ModelEvaluationSlices.", + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics", + "description": "Model evaluation metrics for video action recognition.", + "type": "object", + "properties": { + "evaluatedActionCount": { + "description": "The number of ground truth actions used to create this evaluation.", + "type": "integer", + "format": "int32" + }, + "videoActionMetrics": { + "description": "The metric entries for precision window lengths: 1s,2s,3s.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics", + "description": "The Evaluation metrics given a specific precision_window_length.", + "type": "object", + "properties": { + "precisionWindowLength": { + "description": "This VideoActionMetrics is calculated based on this prediction window length. If the predicted action's timestamp is inside the time window whose center is the ground truth action's timestamp with this specific length, the prediction result is treated as a true positive.", + "type": "string", + "format": "google-duration" + }, + "meanAveragePrecision": { + "description": "The mean average precision.", + "type": "number", + "format": "float" + }, + "confidenceMetrics": { + "description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics", + "description": "Metrics for a single confidence threshold.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "Output only. The confidence threshold value used to compute the metrics.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Output only. Recall for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Output only. Precision for the given confidence threshold.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "Output only. The harmonic mean of recall and precision.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics", + "description": "Model evaluation metrics for video object tracking problems. Evaluates prediction quality of both labeled bounding boxes and labeled tracks (i.e. series of bounding boxes sharing same label and instance ID).", + "type": "object", + "properties": { + "evaluatedFrameCount": { + "description": "UNIMPLEMENTED. The number of video frames used to create this evaluation.", + "type": "integer", + "format": "int32" + }, + "evaluatedBoundingBoxCount": { + "description": "UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over all frames) the ground truth used to create this evaluation had.", + "type": "integer", + "format": "int32" + }, + "evaluatedTrackCount": { + "description": "UNIMPLEMENTED. The total number of tracks (i.e. as seen across all frames) the ground truth used to create this evaluation had.", + "type": "integer", + "format": "int32" + }, + "boundingBoxMetrics": { + "description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" + } + }, + "trackMetrics": { + "description": "UNIMPLEMENTED. The tracks match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics" + } + }, + "boundingBoxMeanAveragePrecision": { + "description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetrics`.", + "type": "number", + "format": "float" + }, + "trackMeanAveragePrecision": { + "description": "UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the `meanAveragePrecision` averaged over all `trackMetrics`.", + "type": "number", + "format": "float" + }, + "trackMeanBoundingBoxIou": { + "description": "UNIMPLEMENTED. The single metric for tracks bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all `trackMetrics`.", + "type": "number", + "format": "float" + }, + "trackMeanMismatchRate": { + "description": "UNIMPLEMENTED. The single metric for tracking consistency evaluation: the `meanMismatchRate` averaged over all `trackMetrics`.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics", + "description": "UNIMPLEMENTED. Track matching model metrics for a single track match threshold and multiple label match confidence thresholds.", + "type": "object", + "properties": { + "iouThreshold": { + "description": "The intersection-over-union threshold value between bounding boxes across frames used to compute this metric entry.", + "type": "number", + "format": "float" + }, + "meanTrackingAveragePrecision": { + "description": "The mean average precision over all confidence thresholds.", + "type": "number", + "format": "float" + }, + "meanBoundingBoxIou": { + "description": "The mean bounding box iou over all confidence thresholds.", + "type": "number", + "format": "float" + }, + "meanMismatchRate": { + "description": "The mean mismatch rate over all confidence thresholds.", + "type": "number", + "format": "float" + }, + "confidenceMetrics": { + "description": "Metrics for each label-match `confidenceThreshold` from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics", + "description": "Metrics for a single confidence threshold.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The confidence threshold value used to compute the metrics.", + "type": "number", + "format": "float" + }, + "trackingPrecision": { + "description": "Tracking precision.", + "type": "number", + "format": "float" + }, + "trackingRecall": { + "description": "Tracking recall.", + "type": "number", + "format": "float" + }, + "boundingBoxIou": { + "description": "Bounding box intersection-over-union precision. Measures how well the bounding boxes overlap between each other (e.g. complete overlap or just barely above iou_threshold).", + "type": "number", + "format": "float" + }, + "mismatchRate": { + "description": "Mismatch rate, which measures the tracking consistency, i.e. correctness of instance ID continuity.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics": { + "id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics", + "description": "Metrics for general pairwise text generation evaluation results.", + "type": "object", + "properties": { + "modelWinRate": { + "description": "Percentage of time the autorater decided the model had the better response.", + "type": "number", + "format": "float" + }, + "baselineModelWinRate": { + "description": "Percentage of time the autorater decided the baseline model had the better response.", + "type": "number", + "format": "float" + }, + "humanPreferenceModelWinRate": { + "description": "Percentage of time humans decided the model had the better response.", + "type": "number", + "format": "float" + }, + "humanPreferenceBaselineModelWinRate": { + "description": "Percentage of time humans decided the baseline model had the better response.", + "type": "number", + "format": "float" + }, + "truePositiveCount": { + "description": "Number of examples where both the autorater and humans decided that the model had the better response.", + "type": "string", + "format": "int64" + }, + "falsePositiveCount": { + "description": "Number of examples where the autorater chose the model, but humans preferred the baseline model.", + "type": "string", + "format": "int64" + }, + "falseNegativeCount": { + "description": "Number of examples where the autorater chose the baseline model, but humans preferred the model.", + "type": "string", + "format": "int64" + }, + "trueNegativeCount": { + "description": "Number of examples where both the autorater and humans decided that the model had the worse response.", + "type": "string", + "format": "int64" + }, + "accuracy": { + "description": "Fraction of cases where the autorater agreed with the human raters.", + "type": "number", + "format": "float" + }, + "precision": { + "description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the autorater thought the model had a better response. True positive divided by all positive.", + "type": "number", + "format": "float" + }, + "recall": { + "description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the humans thought the model had a better response.", + "type": "number", + "format": "float" + }, + "f1Score": { + "description": "Harmonic mean of precision and recall.", + "type": "number", + "format": "float" + }, + "cohensKappa": { + "description": "A measurement of agreement between the autorater and human raters that takes the likelihood of random agreement into account.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance", + "description": "Prediction input format for Image Classification.", + "type": "object", + "properties": { + "content": { + "description": "The image bytes or Cloud Storage URI to make the prediction on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance", + "description": "Prediction input format for Image Object Detection.", + "type": "object", + "properties": { + "content": { + "description": "The image bytes or Cloud Storage URI to make the prediction on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance", + "description": "Prediction input format for Image Segmentation.", + "type": "object", + "properties": { + "content": { + "description": "The image bytes to make the predictions on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/png", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance", + "description": "Prediction input format for Text Classification.", + "type": "object", + "properties": { + "content": { + "description": "The text snippet to make the predictions on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance", + "description": "Prediction input format for Text Extraction.", + "type": "object", + "properties": { + "content": { + "description": "The text snippet to make the predictions on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", + "type": "string" + }, + "key": { + "description": "This field is only used for batch prediction. If a key is provided, the batch prediction result will by mapped to this key. If omitted, then the batch prediction result will contain the entire input instance. Vertex AI will not check if keys in the request are duplicates, so it is up to the caller to ensure the keys are unique.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance", + "description": "Prediction input format for Text Sentiment.", + "type": "object", + "properties": { + "content": { + "description": "The text snippet to make the predictions on.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance", + "description": "Prediction input format for Video Action Recognition.", + "type": "object", + "properties": { + "content": { + "description": "The Google Cloud Storage location of the video on which to perform the prediction.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", + "type": "string" + }, + "timeSegmentEnd": { + "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance", + "description": "Prediction input format for Video Classification.", + "type": "object", + "properties": { + "content": { + "description": "The Google Cloud Storage location of the video on which to perform the prediction.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", + "type": "string" + }, + "timeSegmentEnd": { + "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance": { + "id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance", + "description": "Prediction input format for Video Object Tracking.", + "type": "object", + "properties": { + "content": { + "description": "The Google Cloud Storage location of the video on which to perform the prediction.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", + "type": "string" + }, + "timeSegmentEnd": { + "description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams", + "description": "Prediction model parameters for Image Classification.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams", + "description": "Prediction model parameters for Image Object Detection.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "The Model only returns up to that many top, by confidence score, predictions per instance. Note that number of returned predictions is also limited by metadata's predictionsLimit. Default value is 10.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams", + "description": "Prediction model parameters for Image Segmentation.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "When the model predicts category of pixels of the image, it will only provide predictions for pixels that it is at least this much confident about. All other pixels will be classified as background. Default value is 0.5.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams", + "description": "Prediction model parameters for Video Action Recognition.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams", + "description": "Prediction model parameters for Video Classification.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10,000.", + "type": "integer", + "format": "int32" + }, + "segmentClassification": { + "description": "Set to true to request segment-level classification. Vertex AI returns labels and their confidence scores for the entire time segment of the video that user specified in the input instance. Default value is true", + "type": "boolean" + }, + "shotClassification": { + "description": "Set to true to request shot-level classification. Vertex AI determines the boundaries for each camera shot in the entire time segment of the video that user specified in the input instance. Vertex AI then returns labels and their confidence scores for each detected shot, along with the start and end time of the shot. WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", + "type": "boolean" + }, + "oneSecIntervalClassification": { + "description": "Set to true to request classification for a video at one-second intervals. Vertex AI returns labels and their confidence scores for each second of the entire time segment of the video that user specified in the input WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams", + "description": "Prediction model parameters for Video Object Tracking.", + "type": "object", + "properties": { + "confidenceThreshold": { + "description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", + "type": "number", + "format": "float" + }, + "maxPredictions": { + "description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", + "type": "integer", + "format": "int32" + }, + "minBoundingBoxSize": { + "description": "Only bounding boxes with shortest edge at least that long as a relative value of video frame size are returned. Default value is 0.0.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult", + "description": "Prediction output format for Image and Text Classification.", + "type": "object", + "properties": { + "ids": { + "description": "The resource IDs of the AnnotationSpecs that had been identified.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "displayNames": { + "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "confidences": { + "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult", + "description": "Prediction output format for Image Object Detection.", + "type": "object", + "properties": { + "ids": { + "description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "displayNames": { + "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "confidences": { + "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "bboxes": { + "description": "Bounding boxes, i.e. the rectangles over the image, that pinpoint the found AnnotationSpecs. Given in order that matches the IDs. Each bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and `yMax`, which represent the extremal coordinates of the box. They are relative to the image size, and the point 0,0 is in the top left of the image.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "any" + } + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult", + "description": "Prediction output format for Image Segmentation.", + "type": "object", + "properties": { + "categoryMask": { + "description": "A PNG image where each pixel in the mask represents the category in which the pixel in the original image was predicted to belong to. The size of this image will be the same as the original image. The mapping between the AnntoationSpec and the color can be found in model's metadata. The model will choose the most likely category and if none of the categories reach the confidence threshold, the pixel will be marked as background.", + "type": "string" + }, + "confidenceMask": { + "description": "A one channel image which is encoded as an 8bit lossless PNG. The size of the image will be the same as the original image. For a specific pixel, darker color means less confidence in correctness of the cateogry in the categoryMask for the corresponding pixel. Black means no confidence and white means complete confidence.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult", + "description": "Prediction output format for Tabular Classification.", + "type": "object", + "properties": { + "classes": { + "description": "The name of the classes being classified, contains all possible values of the target column.", + "type": "array", + "items": { + "type": "string" + } + }, + "scores": { + "description": "The model's confidence in each class being correct, higher value means higher confidence. The N-th score corresponds to the N-th class in classes.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult", + "description": "Prediction output format for Tabular Regression.", + "type": "object", + "properties": { + "value": { + "description": "The regression value.", + "type": "number", + "format": "float" + }, + "lowerBound": { + "description": "The lower bound of the prediction interval.", + "type": "number", + "format": "float" + }, + "upperBound": { + "description": "The upper bound of the prediction interval.", + "type": "number", + "format": "float" + }, + "quantileValues": { + "description": "Quantile values.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "quantilePredictions": { + "description": "Quantile predictions, in 1-1 correspondence with quantile_values.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult", + "description": "Prediction output format for Text Extraction.", + "type": "object", + "properties": { + "ids": { + "description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "displayNames": { + "description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "textSegmentStartOffsets": { + "description": "The start offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "textSegmentEndOffsets": { + "description": "The end offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "confidences": { + "description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult", + "description": "Prediction output format for Text Sentiment", + "type": "object", + "properties": { + "sentiment": { + "description": "The integer sentiment labels between 0 (inclusive) and sentimentMax label (inclusive), while 0 maps to the least positive sentiment and sentimentMax maps to the most positive one. The higher the score is, the more positive the sentiment in the text snippet is. Note: sentimentMax is an integer value between 1 (inclusive) and 10 (inclusive).", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult", + "description": "Prediction output format for Time Series Forecasting.", + "type": "object", + "properties": { + "value": { + "description": "The regression value.", + "type": "number", + "format": "float" + }, + "quantileValues": { + "description": "Quantile values.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "quantilePredictions": { + "description": "Quantile predictions, in 1-1 correspondence with quantile_values.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "tftFeatureImportance": { + "description": "Only use these if TFt is enabled.", + "$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance", + "type": "object", + "properties": { + "contextWeights": { + "description": "TFT feature importance values. Each pair for {context/horizon/attribute} should have the same shape since the weight corresponds to the column names.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "contextColumns": { + "type": "array", + "items": { + "type": "string" + } + }, + "horizonWeights": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "horizonColumns": { + "type": "array", + "items": { + "type": "string" + } + }, + "attributeWeights": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "attributeColumns": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult", + "description": "Prediction output format for Video Action Recognition.", + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the AnnotationSpec that had been identified.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that had been identified.", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", + "type": "string", + "format": "google-duration" + }, + "timeSegmentEnd": { + "description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", + "type": "string", + "format": "google-duration" + }, + "confidence": { + "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult", + "description": "Prediction output format for Video Classification.", + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the AnnotationSpec that had been identified.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that had been identified.", + "type": "string" + }, + "type": { + "description": "The type of the prediction. The requested types can be configured via parameters. This will be one of - segment-classification - shot-classification - one-sec-interval-classification", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentStart' from the input instance, for other types it is the start of a shot or a 1 second interval respectively.", + "type": "string", + "format": "google-duration" + }, + "timeSegmentEnd": { + "description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentEnd' from the input instance, for other types it is the end of a shot or a 1 second interval respectively.", + "type": "string", + "format": "google-duration" + }, + "confidence": { + "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult", + "description": "Prediction output format for Video Object Tracking.", + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the AnnotationSpec that had been identified.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that had been identified.", + "type": "string" + }, + "timeSegmentStart": { + "description": "The beginning, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", + "type": "string", + "format": "google-duration" + }, + "timeSegmentEnd": { + "description": "The end, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", + "type": "string", + "format": "google-duration" + }, + "confidence": { + "description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", + "type": "number", + "format": "float" + }, + "frames": { + "description": "All of the frames of the video in which a single object instance has been detected. The bounding boxes in the frames identify the same object.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame": { + "id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame", + "description": "The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, i.e. the rectangle over the video frame pinpointing the found AnnotationSpec. The coordinates are relative to the frame size, and the point 0,0 is in the top left of the frame.", + "type": "object", + "properties": { + "timeOffset": { + "description": "A time (frame) of a video in which the object has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", + "type": "string", + "format": "google-duration" + }, + "xMin": { + "description": "The leftmost coordinate of the bounding box.", + "type": "number", + "format": "float" + }, + "xMax": { + "description": "The rightmost coordinate of the bounding box.", + "type": "number", + "format": "float" + }, + "yMin": { + "description": "The topmost coordinate of the bounding box.", + "type": "number", + "format": "float" + }, + "yMax": { + "description": "The bottommost coordinate of the bounding box.", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting", + "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs", + "type": "object", + "properties": { + "targetColumn": { + "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", + "type": "string" + }, + "timeSeriesIdentifierColumn": { + "description": "The name of the column that identifies the time series.", + "type": "string" + }, + "timeColumn": { + "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", + "type": "string" + }, + "transformations": { + "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation" + } + }, + "optimizationObjective": { + "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", + "type": "string" + }, + "trainBudgetMilliNodeHours": { + "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", + "type": "string", + "format": "int64" + }, + "weightColumn": { + "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", + "type": "string" + }, + "timeSeriesAttributeColumns": { + "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", + "type": "array", + "items": { + "type": "string" + } + }, + "unavailableAtForecastColumns": { + "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", + "type": "array", + "items": { + "type": "string" + } + }, + "availableAtForecastColumns": { + "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", + "type": "array", + "items": { + "type": "string" + } + }, + "dataGranularity": { + "description": "Expected difference in time granularity between rows in the data.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity" + }, + "forecastHorizon": { + "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "contextWindow": { + "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "exportEvaluatedDataItemsConfig": { + "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" + }, + "quantiles": { + "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`, or for probabilistic inference. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "hierarchyConfig": { + "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" + }, + "windowConfig": { + "description": "Config containing strategy for generating sliding windows.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" + }, + "holidayRegions": { + "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", + "type": "array", + "items": { + "type": "string" + } + }, + "enableProbabilisticInference": { + "description": "If probabilistic inference is enabled, the model will fit a distribution that captures the uncertainty of a prediction. At inference time, the predictive distribution is used to make a point prediction that minimizes the optimization objective. For example, the mean of a predictive distribution is the point prediction that minimizes RMSE loss. If quantiles are specified, then the quantiles of the distribution are also returned. The optimization objective cannot be minimize-quantile-loss.", + "type": "boolean" + }, + "validationOptions": { + "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", + "type": "string" + }, + "additionalExperiments": { + "description": "Additional experiment flags for the time series forcasting training.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation", + "type": "object", + "properties": { + "auto": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation" + }, + "numeric": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation" + }, + "categorical": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation" + }, + "timestamp": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation" + }, + "text": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation", + "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation", + "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation", + "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation", + "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "timeFormat": { + "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation", + "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", + "description": "A duration of time expressed in time granularity units.", + "type": "object", + "properties": { + "unit": { + "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", + "type": "string" + }, + "quantity": { + "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", + "description": "Configuration for exporting test set predictions to a BigQuery table.", + "type": "object", + "properties": { + "destinationBigqueryUri": { + "description": "URI of desired destination BigQuery table. Expected format: `bq://{project_id}:{dataset_id}:{table}` If not specified, then results are exported to the following auto-created BigQuery table: `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples`", + "type": "string" + }, + "overrideExistingTable": { + "description": "If true and an export destination is specified, then the contents of the destination are overwritten. Otherwise, if the export destination already exists, then the export operation fails.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", + "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", + "type": "object", + "properties": { + "groupColumns": { + "description": "A list of time series attribute column names that define the time series hierarchy. Only one level of hierarchy is supported, ex. 'region' for a hierarchy of stores or 'department' for a hierarchy of products. If multiple columns are specified, time series will be grouped by their combined values, ex. ('blue', 'large') for 'color' and 'size', up to 5 columns are accepted. If no group columns are specified, all time series are considered to be part of the same group.", + "type": "array", + "items": { + "type": "string" + } + }, + "groupTotalWeight": { + "description": "The weight of the loss for predictions aggregated over time series in the same group.", + "type": "number", + "format": "double" + }, + "temporalTotalWeight": { + "description": "The weight of the loss for predictions aggregated over the horizon for a single time series.", + "type": "number", + "format": "double" + }, + "groupTemporalTotalWeight": { + "description": "The weight of the loss for predictions aggregated over both the horizon and time series in the same hierarchy group.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", + "description": "Config that contains the strategy used to generate sliding windows in time series training. A window is a series of rows that comprise the context up to the time of prediction, and the horizon following. The corresponding row for each window marks the start of the forecast horizon. Each window is used as an input example for training/evaluation.", + "type": "object", + "properties": { + "column": { + "description": "Name of the column that should be used to generate sliding windows. The column should contain either booleans or string booleans; if the value of the row is True, generate a sliding window with the horizon starting at that row. The column will not be used as a feature in training.", + "type": "string" + }, + "strideLength": { + "description": "Stride length used to generate input examples. Within one time series, every {$STRIDE_LENGTH} rows will be used to generate a sliding window.", + "type": "string", + "format": "int64" + }, + "maxCount": { + "description": "Maximum number of windows that should be generated across all time series.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", + "description": "Model metadata specific to AutoML Forecasting.", + "type": "object", + "properties": { + "trainCostMilliNodeHours": { + "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", + "type": "string", + "format": "int64" + }, + "evaluatedDataItemsBigqueryUri": { + "description": "BigQuery destination uri for exported evaluated examples.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification", + "description": "A TrainingJob that trains and uploads an AutoML Image Classification Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A Model best tailored to be used within Google Cloud, and which cannot be exported. Default.", + "A model type best tailored to be used within Google Cloud, which cannot be exported externally. Compared to the CLOUD model above, it is expected to have higher prediction accuracy.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device with afterwards.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", + "EfficientNet model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", + "MaxViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", + "ViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", + "CoCa model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD", + "CLOUD_1", + "MOBILE_TF_LOW_LATENCY_1", + "MOBILE_TF_VERSATILE_1", + "MOBILE_TF_HIGH_ACCURACY_1", + "EFFICIENTNET", + "MAXVIT", + "VIT", + "COCA" + ] + }, + "baseModelId": { + "description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", + "type": "string" + }, + "budgetMilliNodeHours": { + "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 8,000 and 800,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time, considering 8 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1`, the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", + "type": "string", + "format": "int64" + }, + "disableEarlyStopping": { + "description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Classification might stop training before the entire training budget has been used.", + "type": "boolean" + }, + "multiLabel": { + "description": "If false, a single-label (multi-class) Model will be trained (i.e. assuming that for each image just up to one annotation may be applicable). If true, a multi-label Model will be trained (i.e. assuming that for each image multiple annotations may be applicable).", + "type": "boolean" + }, + "uptrainBaseModelId": { + "description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", + "type": "string" + }, + "tunableParameter": { + "description": "Trainer type for Vision TrainRequest.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", + "description": "A wrapper class which contains the tunable parameters in an AutoML Image training job.", + "type": "object", + "properties": { + "trainerType": { + "type": "string", + "enumDescriptions": [ + "Default value.", + "", + "" + ], + "enum": [ + "TRAINER_TYPE_UNSPECIFIED", + "AUTOML_TRAINER", + "MODEL_GARDEN_TRAINER" + ] + }, + "checkpointName": { + "description": "Optional. An unique name of pretrained model checkpoint provided in model garden, it will be mapped to a GCS location internally.", + "type": "string" + }, + "studySpec": { + "description": "Optioinal. StudySpec of hyperparameter tuning job. Required for `model_garden_trainer`.", + "$ref": "GoogleCloudAiplatformV1StudySpec" + }, + "trainerConfig": { + "description": "Customizable trainer settings, used in the `model_garden_trainer`.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "datasetConfig": { + "description": "Customizable dataset settings, used in the `model_garden_trainer`.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", + "type": "object", + "properties": { + "costMilliNodeHours": { + "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", + "type": "string", + "format": "int64" + }, + "successfulStopReason": { + "description": "For successful job completions, this is the reason why the job has finished.", + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "The inputs.budgetMilliNodeHours had been reached.", + "Further training of the Model ceased to increase its quality, since it already has converged." + ], + "enum": [ + "SUCCESSFUL_STOP_REASON_UNSPECIFIED", + "BUDGET_REACHED", + "MODEL_CONVERGED" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection", + "description": "A TrainingJob that trains and uploads an AutoML Image Object Detection Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs" + }, + "metadata": { + "description": "The metadata information", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a higher latency, but should also have a higher prediction quality than other cloud models.", + "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a low latency, but may have lower prediction quality than other cloud models.", + "A model best tailored to be used within Google Cloud, and which cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and CLOUD_LOW_LATENCY_1 models above, it is expected to have higher prediction quality and lower latency.", + "A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", + "A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", + "A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to best support predictions in streaming with lower latency and lower prediction quality than other cloud models.", + "SpineNet for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", + "YOLO for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD_HIGH_ACCURACY_1", + "CLOUD_LOW_LATENCY_1", + "CLOUD_1", + "MOBILE_TF_LOW_LATENCY_1", + "MOBILE_TF_VERSATILE_1", + "MOBILE_TF_HIGH_ACCURACY_1", + "CLOUD_STREAMING_1", + "SPINENET", + "YOLO" + ] + }, + "budgetMilliNodeHours": { + "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 20,000 and 900,000 milli node hours, inclusive. The default value is 216,000 which represents one day in wall time, considering 9 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1` the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", + "type": "string", + "format": "int64" + }, + "disableEarlyStopping": { + "description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Object Detection might stop training before the entire training budget has been used.", + "type": "boolean" + }, + "uptrainBaseModelId": { + "description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", + "type": "string" + }, + "tunableParameter": { + "description": "Trainer type for Vision TrainRequest.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", + "type": "object", + "properties": { + "costMilliNodeHours": { + "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", + "type": "string", + "format": "int64" + }, + "successfulStopReason": { + "description": "For successful job completions, this is the reason why the job has finished.", + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "The inputs.budgetMilliNodeHours had been reached.", + "Further training of the Model ceased to increase its quality, since it already has converged." + ], + "enum": [ + "SUCCESSFUL_STOP_REASON_UNSPECIFIED", + "BUDGET_REACHED", + "MODEL_CONVERGED" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation", + "description": "A TrainingJob that trains and uploads an AutoML Image Segmentation Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A model to be used via prediction calls to uCAIP API. Expected to have a higher latency, but should also have a higher prediction quality than other models.", + "A model to be used via prediction calls to uCAIP API. Expected to have a lower latency but relatively lower prediction quality.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD_HIGH_ACCURACY_1", + "CLOUD_LOW_ACCURACY_1", + "MOBILE_TF_LOW_LATENCY_1" + ] + }, + "budgetMilliNodeHours": { + "description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. Or actual_wall_clock_hours = train_budget_milli_node_hours / (number_of_nodes_involved * 1000) For modelType `cloud-high-accuracy-1`(default), the budget must be between 20,000 and 2,000,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time (1000 milli * 24 hours * 8 nodes).", + "type": "string", + "format": "int64" + }, + "baseModelId": { + "description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", + "type": "object", + "properties": { + "costMilliNodeHours": { + "description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", + "type": "string", + "format": "int64" + }, + "successfulStopReason": { + "description": "For successful job completions, this is the reason why the job has finished.", + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "The inputs.budgetMilliNodeHours had been reached.", + "Further training of the Model ceased to increase its quality, since it already has converged." + ], + "enum": [ + "SUCCESSFUL_STOP_REASON_UNSPECIFIED", + "BUDGET_REACHED", + "MODEL_CONVERGED" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables", + "description": "A TrainingJob that trains and uploads an AutoML Tables Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs", + "type": "object", + "properties": { + "optimizationObjectiveRecallValue": { + "description": "Required when optimization_objective is \"maximize-precision-at-recall\". Must be between 0 and 1, inclusive.", + "type": "number", + "format": "float" + }, + "optimizationObjectivePrecisionValue": { + "description": "Required when optimization_objective is \"maximize-recall-at-precision\". Must be between 0 and 1, inclusive.", + "type": "number", + "format": "float" + }, + "predictionType": { + "description": "The type of prediction the Model is to produce. \"classification\" - Predict one out of multiple target values is picked for each row. \"regression\" - Predict a value based on its relation to other values. This type is available only to columns that contain semantically numeric values, i.e. integers or floating point number, even if stored as e.g. strings.", + "type": "string" + }, + "targetColumn": { + "description": "The column name of the target column that the model is to predict.", + "type": "string" + }, + "transformations": { + "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation" + } + }, + "optimizationObjective": { + "description": "Objective function the model is optimizing towards. The training process creates a model that maximizes/minimizes the value of the objective function over the validation set. The supported optimization objectives depend on the prediction type. If the field is not set, a default objective function is used. classification (binary): \"maximize-au-roc\" (default) - Maximize the area under the receiver operating characteristic (ROC) curve. \"minimize-log-loss\" - Minimize log loss. \"maximize-au-prc\" - Maximize the area under the precision-recall curve. \"maximize-precision-at-recall\" - Maximize precision for a specified recall value. \"maximize-recall-at-precision\" - Maximize recall for a specified precision value. classification (multi-class): \"minimize-log-loss\" (default) - Minimize log loss. regression: \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). \"minimize-mae\" - Minimize mean-absolute error (MAE). \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE).", + "type": "string" + }, + "trainBudgetMilliNodeHours": { + "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", + "type": "string", + "format": "int64" + }, + "disableEarlyStopping": { + "description": "Use the entire training budget. This disables the early stopping feature. By default, the early stopping feature is enabled, which means that AutoML Tables might stop training before the entire training budget has been used.", + "type": "boolean" + }, + "weightColumnName": { + "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", + "type": "string" + }, + "exportEvaluatedDataItemsConfig": { + "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" + }, + "additionalExperiments": { + "description": "Additional experiment flags for the Tables training pipeline.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation", + "type": "object", + "properties": { + "auto": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation" + }, + "numeric": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation" + }, + "categorical": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation" + }, + "timestamp": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation" + }, + "text": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation" + }, + "repeatedNumeric": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation" + }, + "repeatedCategorical": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation" + }, + "repeatedText": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation", + "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation", + "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "invalidValuesAllowed": { + "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation", + "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation", + "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the * timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "timeFormat": { + "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", + "type": "string" + }, + "invalidValuesAllowed": { + "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation", + "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Tokenize text to words. Convert each words to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Tokenization is based on unicode script boundaries. * Missing values get their own lookup index and resulting embedding. * Stop-words receive no special treatment and are not removed.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation", + "description": "Treats the column as numerical array and performs following transformation functions. * All transformations for Numerical types applied to the average of the all elements. * The average of empty arrays is treated as zero.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "invalidValuesAllowed": { + "description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation", + "description": "Treats the column as categorical array and performs following transformation functions. * For each element in the array, convert the category name to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Empty arrays treated as an embedding of zeroes.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation", + "description": "Treats the column as text array and performs following transformation functions. * Concatenate all text values in the array into a single text value using a space (\" \") as a delimiter, and then treat the result as a single text value. Apply the transformations for Text columns. * Empty arrays treated as an empty text.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata", + "description": "Model metadata specific to AutoML Tables.", + "type": "object", + "properties": { + "trainCostMilliNodeHours": { + "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", + "type": "string", + "format": "int64" + }, + "evaluatedDataItemsBigqueryUri": { + "description": "BigQuery destination uri for exported evaluated examples.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification", + "description": "A TrainingJob that trains and uploads an AutoML Text Classification Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", + "type": "object", + "properties": { + "multiLabel": { + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction", + "description": "A TrainingJob that trains and uploads an AutoML Text Extraction Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment", + "description": "A TrainingJob that trains and uploads an AutoML Text Sentiment Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", + "type": "object", + "properties": { + "sentimentMax": { + "description": "A sentiment is expressed as an integer ordinal, where higher value means a more positive sentiment. The range of sentiments that will be used is between 0 and sentimentMax (inclusive on both ends), and all the values in the range must be represented in the dataset before a model can be created. Only the Annotations with this sentimentMax will be used for training. sentimentMax value must be between 1 and 10 (inclusive).", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition", + "description": "A TrainingJob that trains and uploads an AutoML Video Action Recognition Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a Coral device afterwards." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD", + "MOBILE_VERSATILE_1", + "MOBILE_JETSON_VERSATILE_1", + "MOBILE_CORAL_VERSATILE_1" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification", + "description": "A TrainingJob that trains and uploads an AutoML Video Classification Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A model best tailored to be used within Google Cloud, and which cannot be exported. Default.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD", + "MOBILE_VERSATILE_1", + "MOBILE_JETSON_VERSATILE_1" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking", + "description": "A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", + "type": "object", + "properties": { + "modelType": { + "type": "string", + "enumDescriptions": [ + "Should not be set.", + "A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", + "A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", + "A versatile model that is meant to be exported (see ModelService.ExportModel) and used on a Google Coral device.", + "A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on a Google Coral device.", + "A versatile model that is meant to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device.", + "A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device." + ], + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "CLOUD", + "MOBILE_VERSATILE_1", + "MOBILE_CORAL_VERSATILE_1", + "MOBILE_CORAL_LOW_LATENCY_1", + "MOBILE_JETSON_VERSATILE_1", + "MOBILE_JETSON_LOW_LATENCY_1" + ] + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask", + "description": "A TrainingJob that trains a custom code Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this CustomTask.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata", + "type": "object", + "properties": { + "backingCustomJob": { + "description": "The resource name of the CustomJob that has been created to carry out this custom task.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask", + "description": "A TrainingJob that tunes Hypererparameters of a custom code Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this HyperparameterTuningTask.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", + "type": "object", + "properties": { + "studySpec": { + "description": "Study configuration of the HyperparameterTuningJob.", + "$ref": "GoogleCloudAiplatformV1StudySpec" + }, + "trialJobSpec": { + "description": "The spec of a trial job. The same spec applies to the CustomJobs created in all the trials.", + "$ref": "GoogleCloudAiplatformV1CustomJobSpec" + }, + "maxTrialCount": { + "description": "The desired total number of Trials.", + "type": "integer", + "format": "int32" + }, + "parallelTrialCount": { + "description": "The desired number of Trials to run in parallel.", + "type": "integer", + "format": "int32" + }, + "maxFailedTrialCount": { + "description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", + "type": "object", + "properties": { + "backingHyperparameterTuningJob": { + "description": "The resource name of the HyperparameterTuningJob that has been created to carry out this HyperparameterTuning task.", + "type": "string" + }, + "bestTrialBackingCustomJob": { + "description": "The resource name of the CustomJob that has been created to run the best Trial of this HyperparameterTuning task.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting", + "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", + "type": "object", + "properties": { + "targetColumn": { + "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", + "type": "string" + }, + "timeSeriesIdentifierColumn": { + "description": "The name of the column that identifies the time series.", + "type": "string" + }, + "timeColumn": { + "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", + "type": "string" + }, + "transformations": { + "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation" + } + }, + "optimizationObjective": { + "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", + "type": "string" + }, + "trainBudgetMilliNodeHours": { + "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", + "type": "string", + "format": "int64" + }, + "weightColumn": { + "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", + "type": "string" + }, + "timeSeriesAttributeColumns": { + "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", + "type": "array", + "items": { + "type": "string" + } + }, + "unavailableAtForecastColumns": { + "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", + "type": "array", + "items": { + "type": "string" + } + }, + "availableAtForecastColumns": { + "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", + "type": "array", + "items": { + "type": "string" + } + }, + "dataGranularity": { + "description": "Expected difference in time granularity between rows in the data.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity" + }, + "forecastHorizon": { + "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "contextWindow": { + "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "holidayRegions": { + "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", + "type": "array", + "items": { + "type": "string" + } + }, + "exportEvaluatedDataItemsConfig": { + "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" + }, + "windowConfig": { + "description": "Config containing strategy for generating sliding windows.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" + }, + "quantiles": { + "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "validationOptions": { + "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", + "type": "string" + }, + "additionalExperiments": { + "description": "Additional experiment flags for the time series forcasting training.", + "type": "array", + "items": { + "type": "string" + } + }, + "hierarchyConfig": { + "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation", + "type": "object", + "properties": { + "auto": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation" + }, + "numeric": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation" + }, + "categorical": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation" + }, + "timestamp": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation" + }, + "text": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation", + "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation", + "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation", + "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation", + "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "timeFormat": { + "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation", + "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", + "description": "A duration of time expressed in time granularity units.", + "type": "object", + "properties": { + "unit": { + "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", + "type": "string" + }, + "quantity": { + "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", + "description": "Model metadata specific to Seq2Seq Plus Forecasting.", + "type": "object", + "properties": { + "trainCostMilliNodeHours": { + "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", + "type": "string", + "format": "int64" + }, + "evaluatedDataItemsBigqueryUri": { + "description": "BigQuery destination uri for exported evaluated examples.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting", + "description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", + "type": "object", + "properties": { + "inputs": { + "description": "The input parameters of this TrainingJob.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs" + }, + "metadata": { + "description": "The metadata information.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs", + "type": "object", + "properties": { + "targetColumn": { + "description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", + "type": "string" + }, + "timeSeriesIdentifierColumn": { + "description": "The name of the column that identifies the time series.", + "type": "string" + }, + "timeColumn": { + "description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", + "type": "string" + }, + "transformations": { + "description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation" + } + }, + "optimizationObjective": { + "description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", + "type": "string" + }, + "trainBudgetMilliNodeHours": { + "description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", + "type": "string", + "format": "int64" + }, + "weightColumn": { + "description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", + "type": "string" + }, + "timeSeriesAttributeColumns": { + "description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", + "type": "array", + "items": { + "type": "string" + } + }, + "unavailableAtForecastColumns": { + "description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", + "type": "array", + "items": { + "type": "string" + } + }, + "availableAtForecastColumns": { + "description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", + "type": "array", + "items": { + "type": "string" + } + }, + "dataGranularity": { + "description": "Expected difference in time granularity between rows in the data.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity" + }, + "forecastHorizon": { + "description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "contextWindow": { + "description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", + "type": "string", + "format": "int64" + }, + "holidayRegions": { + "description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", + "type": "array", + "items": { + "type": "string" + } + }, + "exportEvaluatedDataItemsConfig": { + "description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig" + }, + "windowConfig": { + "description": "Config containing strategy for generating sliding windows.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig" + }, + "quantiles": { + "description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "validationOptions": { + "description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", + "type": "string" + }, + "additionalExperiments": { + "description": "Additional experiment flags for the time series forcasting training.", + "type": "array", + "items": { + "type": "string" + } + }, + "hierarchyConfig": { + "description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation", + "type": "object", + "properties": { + "auto": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation" + }, + "numeric": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation" + }, + "categorical": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation" + }, + "timestamp": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation" + }, + "text": { + "$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation", + "description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation", + "description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation", + "description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation", + "description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + }, + "timeFormat": { + "description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation", + "description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", + "type": "object", + "properties": { + "columnName": { + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", + "description": "A duration of time expressed in time granularity units.", + "type": "object", + "properties": { + "unit": { + "description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", + "type": "string" + }, + "quantity": { + "description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", + "type": "string", + "format": "int64" + } + } + }, + "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata", + "description": "Model metadata specific to TFT Forecasting.", + "type": "object", + "properties": { + "trainCostMilliNodeHours": { + "description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", + "type": "string", + "format": "int64" + }, + "evaluatedDataItemsBigqueryUri": { + "description": "BigQuery destination uri for exported evaluated examples.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictionResult": { + "id": "GoogleCloudAiplatformV1SchemaPredictionResult", + "description": "Represents a line of JSONL in the batch prediction output file.", + "type": "object", + "properties": { + "instance": { + "description": "User's input instance. Struct is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "key": { + "description": "Optional user-provided key from the input instance.", + "type": "string" + }, + "prediction": { + "description": "The prediction result. Value is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON and so we can represent array of objects. Do not set error if this is set.", + "type": "any" + }, + "error": { + "description": "The error result. Do not set prediction if this is set.", + "$ref": "GoogleCloudAiplatformV1SchemaPredictionResultError" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictionResultError": { + "id": "GoogleCloudAiplatformV1SchemaPredictionResultError", + "type": "object", + "properties": { + "status": { + "description": "Error status. This will be serialized into the enum name e.g. \"NOT_FOUND\".", + "type": "string", + "enumDescriptions": [ + "Not an error; returned on success. HTTP Mapping: 200 OK", + "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", + "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", + "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", + "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", + "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", + "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", + "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", + "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", + "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", + "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", + "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", + "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", + "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", + "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", + "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", + "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" + ], + "enum": [ + "OK", + "CANCELLED", + "UNKNOWN", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "ALREADY_EXISTS", + "PERMISSION_DENIED", + "UNAUTHENTICATED", + "RESOURCE_EXHAUSTED", + "FAILED_PRECONDITION", + "ABORTED", + "OUT_OF_RANGE", + "UNIMPLEMENTED", + "INTERNAL", + "UNAVAILABLE", + "DATA_LOSS" + ] + }, + "message": { + "description": "Error message with additional details.", + "type": "string" + } + } + }, + "CloudAiLargeModelsVisionGenerateVideoResponse": { + "id": "CloudAiLargeModelsVisionGenerateVideoResponse", + "description": "Generate video response.", + "type": "object", + "properties": { + "generatedSamples": { + "description": "The generates samples.", + "type": "array", + "items": { + "$ref": "CloudAiLargeModelsVisionMedia" + } + }, + "raiMediaFilteredCount": { + "description": "Returns if any videos were filtered due to RAI policies.", + "type": "integer", + "format": "int32" + }, + "raiMediaFilteredReasons": { + "description": "Returns rai failure reasons if any.", + "type": "array", + "items": { + "type": "string" + } + }, + "videos": { + "description": "List of videos, used to align naming with the external response.", + "type": "array", + "items": { + "$ref": "CloudAiLargeModelsVisionGenerateVideoResponseVideo" + } + } + } + }, + "CloudAiLargeModelsVisionMedia": { + "id": "CloudAiLargeModelsVisionMedia", + "description": "Media.", + "type": "object", + "properties": { + "image": { + "description": "Image.", + "$ref": "CloudAiLargeModelsVisionImage" + }, + "video": { + "description": "Video", + "$ref": "CloudAiLargeModelsVisionVideo" + } + } + }, + "CloudAiLargeModelsVisionImage": { + "id": "CloudAiLargeModelsVisionImage", + "description": "Image.", + "type": "object", + "properties": { + "image": { + "description": "Raw bytes.", + "type": "string", + "format": "byte" + }, + "uri": { + "description": "Path to another storage (typically Google Cloud Storage).", + "type": "string" + }, + "encoding": { + "description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", + "type": "string" + }, + "imageRaiScores": { + "description": "RAI scores for generated image.", + "$ref": "CloudAiLargeModelsVisionImageRAIScores" + }, + "raiInfo": { + "description": "RAI info for image.", + "$ref": "CloudAiLargeModelsVisionRaiInfo" + }, + "semanticFilterResponse": { + "description": "Semantic filter info for image.", + "$ref": "CloudAiLargeModelsVisionSemanticFilterResponse" + }, + "text": { + "description": "Text/Expanded text input for imagen.", + "type": "string" + }, + "generationSeed": { + "description": "Generation seed for the sampled image. This parameter is exposed to the user only if one of the following is true: 1. The user specified per-example seeds in the request. 2. The user doesn't specify the generation seed in the request.", + "type": "integer", + "format": "int32" + }, + "imageSize": { + "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes.", + "$ref": "CloudAiLargeModelsVisionImageImageSize" + } + } + }, + "CloudAiLargeModelsVisionImageRAIScores": { + "id": "CloudAiLargeModelsVisionImageRAIScores", + "description": "RAI scores for generated image returned.", + "type": "object", + "properties": { + "agileWatermarkDetectionScore": { + "description": "Agile watermark score for image.", + "type": "number", + "format": "double" + } + } + }, + "CloudAiLargeModelsVisionRaiInfo": { + "id": "CloudAiLargeModelsVisionRaiInfo", + "description": "Next ID: 6", + "type": "object", + "properties": { + "raiCategories": { + "description": "List of rai categories' information to return", + "type": "array", + "items": { + "type": "string" + } + }, + "scores": { + "description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "blockedEntities": { + "description": "List of blocked entities from the blocklist if it is detected.", + "type": "array", + "items": { + "type": "string" + } + }, + "detectedLabels": { + "description": "The list of detected labels for different rai categories.", + "type": "array", + "items": { + "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" + } + }, + "modelName": { + "description": "The model name used to indexing into the RaiFilterConfig map. Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint names, or internal names used for mapping to different filter configs (genselfie, ai_watermark) than its api endpoint.", + "type": "string" + } + } + }, + "CloudAiLargeModelsVisionRaiInfoDetectedLabels": { + "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", + "description": "Filters returning list of deteceted labels, scores, and bounding boxes.", + "type": "object", + "properties": { + "raiCategory": { + "description": "The RAI category for the deteceted labels.", + "type": "string" + }, + "entities": { + "description": "The list of detected entities for the rai signal.", + "type": "array", + "items": { + "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" + } + } + } + }, + "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { + "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", + "description": "The properties for a detected entity from the rai signal.", + "type": "object", + "properties": { + "mid": { + "description": "MID of the label", + "type": "string" + }, + "description": { + "description": "Description of the label", + "type": "string" + }, + "score": { + "description": "Confidence score of the label", + "type": "number", + "format": "float" + }, + "boundingBox": { + "description": "Bounding box of the label", + "$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox" + }, + "iouScore": { + "description": "The intersection ratio between the detection bounding box and the mask.", + "type": "number", + "format": "float" + } + } + }, + "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { + "id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", + "description": "An integer bounding box of original pixels of the image for the detected labels.", + "type": "object", + "properties": { + "x1": { + "description": "The X coordinate of the top-left corner, in pixels.", + "type": "integer", + "format": "int32" + }, + "y1": { + "description": "The Y coordinate of the top-left corner, in pixels.", + "type": "integer", + "format": "int32" + }, + "x2": { + "description": "The X coordinate of the bottom-right corner, in pixels.", + "type": "integer", + "format": "int32" + }, + "y2": { + "description": "The Y coordinate of the bottom-right corner, in pixels.", + "type": "integer", + "format": "int32" + } + } + }, + "CloudAiLargeModelsVisionSemanticFilterResponse": { + "id": "CloudAiLargeModelsVisionSemanticFilterResponse", + "type": "object", + "properties": { + "passedSemanticFilter": { + "description": "This response is added when semantic filter config is turned on in EditConfig. It reports if this image is passed semantic filter response. If passed_semantic_filter is false, the bounding box information will be populated for user to check what caused the semantic filter to fail.", + "type": "boolean" + }, + "namedBoundingBoxes": { + "description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", + "type": "array", + "items": { + "$ref": "CloudAiLargeModelsVisionNamedBoundingBox" + } + } + } + }, + "CloudAiLargeModelsVisionNamedBoundingBox": { + "id": "CloudAiLargeModelsVisionNamedBoundingBox", + "type": "object", + "properties": { + "x1": { + "type": "number", + "format": "float" + }, + "x2": { + "type": "number", + "format": "float" + }, + "y1": { + "type": "number", + "format": "float" + }, + "y2": { + "type": "number", + "format": "float" + }, + "classes": { + "type": "array", + "items": { + "type": "string" + } + }, + "entities": { + "type": "array", + "items": { + "type": "string" + } + }, + "scores": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + } + }, + "CloudAiLargeModelsVisionImageImageSize": { + "id": "CloudAiLargeModelsVisionImageImageSize", + "description": "Image size.", + "type": "object", + "properties": { + "width": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "integer", + "format": "int32" + }, + "channels": { + "type": "integer", + "format": "int32" + } + } + }, + "CloudAiLargeModelsVisionVideo": { + "id": "CloudAiLargeModelsVisionVideo", + "description": "Video", + "type": "object", + "properties": { + "video": { + "description": "Raw bytes.", + "type": "string", + "format": "byte" + }, + "uri": { + "description": "Path to another storage (typically Google Cloud Storage).", + "type": "string" + }, + "encodedVideo": { + "description": "Base 64 encoded video bytes.", + "type": "string" + }, + "encoding": { + "description": "Video encoding, for example \"video/mp4\".", + "type": "string" + }, + "text": { + "description": "Text/Expanded text input for Help Me Write.", + "type": "string" + } + } + }, + "CloudAiLargeModelsVisionGenerateVideoResponseVideo": { + "id": "CloudAiLargeModelsVisionGenerateVideoResponseVideo", + "type": "object", + "properties": { + "gcsUri": { + "description": "Cloud Storage URI where the generated video is written.", + "type": "string" + }, + "bytesBase64Encoded": { + "description": "Base64 encoded bytes string representing the video.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the content of the video. - video/mp4", + "type": "string" + } + } + }, + "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { + "id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", + "description": "Create API error message for Vertex Pipeline.", + "type": "object", + "properties": { + "errorCause": { + "description": "The error root cause returned by CreatePipelineJob API.", + "type": "string", + "enumDescriptions": [ + "Should never be used.", + "IR Pipeline Spec can not been parsed to yaml or json format.", + "A pipeline spec is invalid.", + "A deployment config is invalid.", + "A deployment spec is invalid.", + "An instance schema is invalid.", + "A custom job is invalid.", + "A container spec is invalid.", + "Notification email setup is invalid.", + "Service account setup is invalid.", + "KMS setup is invalid.", + "Network setup is invalid.", + "Task spec is invalid.", + "Task artifact is invalid.", + "Importer spec is invalid.", + "Resolver spec is invalid.", + "Runtime Parameters are invalid.", + "Cloud API not enabled.", + "Invalid Cloud Storage input uri", + "Invalid Cloud Storage output uri", + "Component spec of pipeline is invalid.", + "DagOutputsSpec is invalid.", + "DagSpec is invalid.", + "Project does not have enough quota.", + "An internal error with unknown cause." + ], + "enum": [ + "ERROR_CAUSE_UNSPECIFIED", + "INVALID_PIPELINE_SPEC_FORMAT", + "INVALID_PIPELINE_SPEC", + "INVALID_DEPLOYMENT_CONFIG", + "INVALID_DEPLOYMENT_SPEC", + "INVALID_INSTANCE_SCHEMA", + "INVALID_CUSTOM_JOB", + "INVALID_CONTAINER_SPEC", + "INVALID_NOTIFICATION_EMAIL_SETUP", + "INVALID_SERVICE_ACCOUNT_SETUP", + "INVALID_KMS_SETUP", + "INVALID_NETWORK_SETUP", + "INVALID_PIPELINE_TASK_SPEC", + "INVALID_PIPELINE_TASK_ARTIFACT", + "INVALID_IMPORTER_SPEC", + "INVALID_RESOLVER_SPEC", + "INVALID_RUNTIME_PARAMETERS", + "CLOUD_API_NOT_ENABLED", + "INVALID_GCS_INPUT_URI", + "INVALID_GCS_OUTPUT_URI", + "INVALID_COMPONENT_SPEC", + "INVALID_DAG_OUTPUTS_SPEC", + "INVALID_DAG_SPEC", + "INSUFFICIENT_QUOTA", + "INTERNAL" + ] + }, + "publicMessage": { + "description": "Public messages contains actionable items for the error cause.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1CreateDatasetOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateDatasetOperationMetadata", + "description": "Runtime operation information for DatasetService.CreateDataset.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata": { + "id": "GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata", + "description": "Runtime operation information for DatasetService.CreateDatasetVersion.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata": { + "id": "GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata", + "description": "Runtime operation information for DatasetService.RestoreDatasetVersion.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The common part of the operation metadata.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation", + "description": "Annotation details specific to image object detection.", + "type": "object", + "properties": { + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "xMin": { + "description": "The leftmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "xMax": { + "description": "The rightmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "yMin": { + "description": "The topmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "yMax": { + "description": "The bottommost coordinate of the bounding box.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageClassificationAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageClassificationAnnotation", + "description": "Annotation details specific to image classification.", + "type": "object", + "properties": { + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageDataItem": { + "id": "GoogleCloudAiplatformV1SchemaImageDataItem", + "description": "Payload of Image DataItem.", + "type": "object", + "properties": { + "gcsUri": { + "description": "Required. Google Cloud Storage URI points to the original image in user's bucket. The image is up to 30MB in size.", + "type": "string" + }, + "mimeType": { + "description": "Output only. The mime type of the content of the image. Only the images in below listed mime types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaImageDatasetMetadata", + "description": "The metadata of Datasets that contain Image DataItems.", + "type": "object", + "properties": { + "dataItemSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Image DataItems that belong to this Dataset.", + "type": "string" + }, + "gcsBucket": { + "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation", + "description": "Annotation details specific to image segmentation.", + "type": "object", + "properties": { + "maskAnnotation": { + "description": "Mask based segmentation annotation. Only one mask annotation can exist for one image.", + "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation" + }, + "polygonAnnotation": { + "description": "Polygon annotation.", + "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation" + }, + "polylineAnnotation": { + "description": "Polyline annotation.", + "$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation", + "description": "The mask based segmentation annotation.", + "type": "object", + "properties": { + "maskGcsUri": { + "description": "Google Cloud Storage URI that points to the mask image. The image must be in PNG format. It must have the same size as the DataItem's image. Each pixel in the image mask represents the AnnotationSpec which the pixel in the image DataItem belong to. Each color is mapped to one AnnotationSpec based on annotation_spec_colors.", + "type": "string" + }, + "annotationSpecColors": { + "description": "The mapping between color and AnnotationSpec for this Annotation.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaAnnotationSpecColor": { + "id": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor", + "description": "An entry of mapping between color and AnnotationSpec. The mapping is used in segmentation mask.", + "type": "object", + "properties": { + "color": { + "description": "The color of the AnnotationSpec in a segmentation mask.", + "$ref": "GoogleTypeColor" + }, + "displayName": { + "description": "The display name of the AnnotationSpec represented by the color in the segmentation mask.", + "type": "string" + }, + "id": { + "description": "The ID of the AnnotationSpec represented by the color in the segmentation mask.", + "type": "string" + } + } + }, + "GoogleTypeColor": { + "id": "GoogleTypeColor", + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha \u003c= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i \u003c missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", + "type": "object", + "properties": { + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "type": "number", + "format": "float" + }, + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "type": "number", + "format": "float" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "type": "number", + "format": "float" + }, + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", + "type": "number", + "format": "float" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation", + "description": "Represents a polygon in image.", + "type": "object", + "properties": { + "vertexes": { + "description": "The vertexes are connected one by one and the last vertex is connected to the first one to represent a polygon.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaVertex" + } + }, + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaVertex": { + "id": "GoogleCloudAiplatformV1SchemaVertex", + "description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", + "type": "object", + "properties": { + "x": { + "description": "X coordinate.", + "type": "number", + "format": "double" + }, + "y": { + "description": "Y coordinate.", + "type": "number", + "format": "double" + } + } + }, + "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation", + "description": "Represents a polyline in image.", + "type": "object", + "properties": { + "vertexes": { + "description": "The vertexes are connected one by one and the last vertex in not connected to the first one.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaVertex" + } + }, + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata", + "description": "The metadata of Datasets that contain tables data.", + "type": "object", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig" + } + } + }, + "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig": { + "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig", + "description": "The tables Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", + "type": "object", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource" + }, + "bigquerySource": { + "$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource" + } + } + }, + "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource": { + "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource", + "type": "object", + "properties": { + "uri": { + "description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource": { + "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource", + "type": "object", + "properties": { + "uri": { + "description": "The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextClassificationAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaTextClassificationAnnotation", + "description": "Annotation details specific to text classification.", + "type": "object", + "properties": { + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextDataItem": { + "id": "GoogleCloudAiplatformV1SchemaTextDataItem", + "description": "Payload of Text DataItem.", + "type": "object", + "properties": { + "gcsUri": { + "description": "Output only. Google Cloud Storage URI points to a copy of the original text in the Vertex-managed bucket in the user's project. The text file is up to 10MB in size.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTextDatasetMetadata", + "description": "The metadata of Datasets that contain Text DataItems.", + "type": "object", + "properties": { + "dataItemSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Text DataItems that belong to this Dataset.", + "type": "string" + }, + "gcsBucket": { + "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextExtractionAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaTextExtractionAnnotation", + "description": "Annotation details specific to text extraction.", + "type": "object", + "properties": { + "textSegment": { + "description": "The segment of the text content.", + "$ref": "GoogleCloudAiplatformV1SchemaTextSegment" + }, + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextSegment": { + "id": "GoogleCloudAiplatformV1SchemaTextSegment", + "description": "The text segment inside of DataItem.", + "type": "object", + "properties": { + "startOffset": { + "description": "Zero-based character index of the first character of the text segment (counting characters from the beginning of the text).", + "type": "string", + "format": "uint64" + }, + "endOffset": { + "description": "Zero-based character index of the first character past the end of the text segment (counting character from the beginning of the text). The character at the end_offset is NOT included in the text segment.", + "type": "string", + "format": "uint64" + }, + "content": { + "description": "The text content in the segment for output only.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata", + "description": "The metadata of Datasets that contain Text Prompt data.", + "type": "object", + "properties": { + "text": { + "description": "The content of the prompt dataset.", + "type": "string" + }, + "gcsUri": { + "description": "The Google Cloud Storage URI that stores the prompt data.", + "type": "string" + }, + "temperature": { + "description": "Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness.", + "type": "number", + "format": "float" + }, + "maxOutputTokens": { + "description": "Value of the maximum number of tokens generated set when the dataset was saved.", + "type": "string", + "format": "int64" + }, + "topK": { + "description": "Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step.", + "type": "string", + "format": "int64" + }, + "topP": { + "description": "Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP.", + "type": "number", + "format": "float" + }, + "promptType": { + "description": "Type of the prompt dataset.", + "type": "string" + }, + "groundingConfig": { + "description": "Grounding checking configuration.", + "$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig" + }, + "stopSequences": { + "description": "Customized stop sequences.", + "type": "array", + "items": { + "type": "string" + } + }, + "candidateCount": { + "description": "Number of candidates.", + "type": "string", + "format": "int64" + }, + "note": { + "description": "User-created prompt note. Note size limit is 2KB.", + "type": "string" + }, + "systemInstructionGcsUri": { + "description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", + "type": "string" + }, + "hasPromptVariable": { + "description": "Whether the prompt dataset has prompt variable.", + "type": "boolean" + }, + "systemInstruction": { + "description": "The content of the prompt dataset system instruction.", + "type": "string" + }, + "seedEnabled": { + "description": "Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled.", + "type": "boolean" + }, + "seedValue": { + "description": "The actual value of the seed.", + "type": "string", + "format": "int64" + }, + "logprobs": { + "description": "Whether or not the user has enabled logit probabilities in the model parameters.", + "type": "boolean" + }, + "promptApiSchema": { + "description": "The API schema of the prompt to support both UI and SDK usages.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptApiSchema" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig", + "description": "The configuration for grounding checking.", + "type": "object", + "properties": { + "sources": { + "description": "The sources for the grounding checking.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry" + } + }, + "disableAttribution": { + "description": "If set, skip finding claim attributions (i.e not generate grounding citation).", + "deprecated": true, + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry": { + "id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry", + "description": "Single source entry for the grounding checking.", + "type": "object", + "properties": { + "type": { + "description": "The type of the grounding checking source.", + "type": "string", + "enumDescriptions": [ + "", + "Uses Web Search to check the grounding.", + "Uses Vertex AI Search to check the grounding. Deprecated. Use VERTEX_AI_SEARCH instead.", + "Uses Vertex AI Search to check the grounding", + "Uses inline context to check the grounding." + ], + "enumDeprecated": [ + false, + false, + true, + false, + false + ], + "enum": [ + "UNSPECIFIED", + "WEB", + "ENTERPRISE", + "VERTEX_AI_SEARCH", + "INLINE" + ] + }, + "enterpriseDatastore": { + "description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", + "deprecated": true, + "type": "string" + }, + "vertexAiSearchDatastore": { + "description": "The uri of the Vertex AI Search data source.", + "type": "string" + }, + "inlineContext": { + "description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptApiSchema": { + "id": "GoogleCloudAiplatformV1SchemaPromptApiSchema", + "description": "The A2 schema of a prompt.", + "type": "object", + "properties": { + "multimodalPrompt": { + "description": "Multimodal prompt which embeds preambles to prompt string.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt" + }, + "structuredPrompt": { + "description": "The prompt variation that stores preambles in separate fields.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt" + }, + "translationPrompt": { + "description": "The prompt variation for Translation use case.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt" + }, + "executions": { + "description": "A list of execution instances for constructing a ready-to-use prompt.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution" } + }, + "apiSchemaVersion": { + "description": "The Schema version that represents changes to the API behavior.", + "type": "string" } } }, - "batchPredictionJobs": { - "methods": { - "create": { - "id": "aiplatform.batchPredictionJobs.create", - "path": "v1/batchPredictionJobs", - "flatPath": "v1/batchPredictionJobs", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [], - "request": { - "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start." + "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", + "description": "Prompt variation that embeds preambles to prompt string.", + "type": "object", + "properties": { + "promptMessage": { + "description": "The prompt message.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", + "type": "object", + "properties": { + "model": { + "description": "The model name.", + "type": "string" }, - "get": { - "id": "aiplatform.batchPredictionJobs.get", - "path": "v1/{+name}", - "flatPath": "v1/batchPredictionJobs/{batchPredictionJobsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", - "pattern": "^batchPredictionJobs/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1BatchPredictionJob" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a BatchPredictionJob" + "contents": { + "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + } }, - "list": { - "id": "aiplatform.batchPredictionJobs.list", - "path": "v1/batchPredictionJobs", - "flatPath": "v1/batchPredictionJobs", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - }, - "filter": { - "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", - "location": "query", - "type": "string" - }, - "readMask": { - "description": "Mask specifying which fields to read.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [], - "response": { - "$ref": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists BatchPredictionJobs in a Location." + "systemInstruction": { + "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "tools": { + "description": "A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + } + }, + "toolConfig": { + "description": "Tool config. This config is shared for all tools provided in the request.", + "$ref": "GoogleCloudAiplatformV1ToolConfig" + }, + "safetySettings": { + "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetySetting" + } + }, + "generationConfig": { + "description": "Generation config.", + "$ref": "GoogleCloudAiplatformV1GenerationConfig" } } }, - "endpoints": { - "methods": { - "predict": { - "id": "aiplatform.endpoints.predict", - "path": "v1/{+endpoint}:predict", - "flatPath": "v1/endpoints/{endpointsId}:predict", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1PredictRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1PredictResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Perform an online prediction." + "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", + "description": "Prompt variation that stores preambles in separate fields.", + "type": "object", + "properties": { + "promptMessage": { + "description": "The prompt message.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" }, - "predictLongRunning": { - "id": "aiplatform.endpoints.predictLongRunning", - "path": "v1/{+endpoint}:predictLongRunning", - "flatPath": "v1/endpoints/{endpointsId}:predictLongRunning", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "" + "context": { + "description": "Preamble: The context of the prompt.", + "$ref": "GoogleCloudAiplatformV1Content" + }, + "inputPrefixes": { + "description": "Preamble: The input prefixes before each example input.", + "type": "array", + "items": { + "type": "string" + } + }, + "outputPrefixes": { + "description": "Preamble: The output prefixes before each example output.", + "type": "array", + "items": { + "type": "string" + } + }, + "examples": { + "description": "Preamble: A set of examples for expected model response.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + } + }, + "infillPrefix": { + "description": "Preamble: For infill prompt, the prefix before expected model response.", + "type": "string" + }, + "infillSuffix": { + "description": "Preamble: For infill prompt, the suffix after expected model response.", + "type": "string" + }, + "predictionInputs": { + "description": "Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + } + }, + "appBuilderData": { + "description": "Data for app builder use case.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPartList": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", + "description": "A list of elements and information that make up a portion of prompt.", + "type": "object", + "properties": { + "parts": { + "description": "A list of elements that can be part of a prompt.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1Part" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData", + "description": "Defines data for an application builder.", + "type": "object", + "properties": { + "codeRepositoryState": { + "description": "Serialized state of the code repository. This string will typically contain a JSON representation of the UI's CodeRepositoryService state (files, folders, content, and any metadata). The UI is responsible for serialization and deserialization.", + "type": "string" + }, + "linkedResources": { + "description": "Linked resources attached to the application by the user.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource", + "description": "A linked resource attached to the application by the user.", + "type": "object", + "properties": { + "type": { + "description": "The type of the linked resource. e.g., \"SAVED_PROMPT\", \"AI_AGENT\" This string corresponds to the name of the LinkedResourceType enum member. See: google3/cloud/console/web/ai/platform/llm/prompts/build/services/specs_repository_service/linked_resources/linked_resource.ts", + "type": "string" + }, + "displayName": { + "description": "A user-friendly name for the data source shown in the UI.", + "type": "string" + }, + "name": { + "description": "The unique resource name of the data source. The format is determined by the 'type' field. For type \"SAVED_PROMPT\": projects/{project}/locations/{location}/datasets/{dataset} For type \"AI_AGENT\": projects/{project}/locations/{location}/agents/{agent}", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", + "description": "Prompt variation for Translation use case.", + "type": "object", + "properties": { + "promptMessage": { + "description": "The prompt message.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage" + }, + "sourceLanguageCode": { + "description": "The source language code.", + "type": "string" + }, + "targetLanguageCode": { + "description": "The target language code.", + "type": "string" + }, + "option": { + "description": "The translation option.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption" + }, + "example": { + "description": "The translation example.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", + "description": "Optional settings for translation prompt.", + "type": "object", + "properties": { + "numberOfShots": { + "description": "How many shots to use.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", + "description": "The translation example that contains reference sentences from various sources.", + "type": "object", + "properties": { + "referenceSentencesFileInputs": { + "description": "The reference sentences from file.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput" + } + }, + "referenceSentencePairLists": { + "description": "The reference sentences from inline text.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput", + "type": "object", + "properties": { + "fileInputSource": { + "description": "Inlined file source.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource" + }, + "gcsInputSource": { + "description": "Cloud Storage file source.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", + "type": "object", + "properties": { + "mimeType": { + "description": "The file's mime type.", + "type": "string" + }, + "content": { + "description": "The file's contents.", + "type": "string" + }, + "displayName": { + "description": "The file's display name.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", + "type": "object", + "properties": { + "inputUri": { + "description": "Source data URI. For example, `gs://my_bucket/my_object`.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList", + "description": "A list of reference sentence pairs.", + "type": "object", + "properties": { + "referenceSentencePairs": { + "description": "Reference sentence pairs.", + "type": "array", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair", + "description": "A pair of sentences used as reference in source and target languages.", + "type": "object", + "properties": { + "sourceSentence": { + "description": "Source sentence in the sentence pair.", + "type": "string" + }, + "targetSentence": { + "description": "Target sentence in the sentence pair.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution": { + "id": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution", + "description": "A prompt instance's parameters set that contains a set of variable values.", + "type": "object", + "properties": { + "arguments": { + "description": "Maps variable names to their value.", + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue" + } + } + } + }, + "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue": { + "id": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue", + "description": "The value of a variable in prompt.", + "type": "object", + "properties": { + "partList": { + "description": "The parts of the variable value.", + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextSentimentAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaTextSentimentAnnotation", + "description": "Annotation details specific to text sentiment.", + "type": "object", + "properties": { + "sentiment": { + "description": "The sentiment score for text.", + "type": "integer", + "format": "int32" + }, + "sentimentMax": { + "description": "The sentiment max score for text.", + "type": "integer", + "format": "int32" }, - "fetchPredictOperation": { - "id": "aiplatform.endpoints.fetchPredictOperation", - "path": "v1/{+endpoint}:fetchPredictOperation", - "flatPath": "v1/endpoints/{endpointsId}:fetchPredictOperation", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Fetch an asynchronous online prediction operation." + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" }, - "generateContent": { - "id": "aiplatform.endpoints.generateContent", - "path": "v1/{+model}:generateContent", - "flatPath": "v1/endpoints/{endpointsId}:generateContent", - "httpMethod": "POST", - "parameters": { - "model": { - "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "model" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Generate content with multimodal inputs." + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata", + "description": "The metadata of SavedQuery contains TextSentiment Annotations.", + "type": "object", + "properties": { + "sentimentMax": { + "description": "The maximum sentiment of sentiment Anntoation in this SavedQuery.", + "type": "integer", + "format": "int32" + } + } + }, + "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata", + "description": "The metadata of Datasets that contain time series data.", + "type": "object", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig" }, - "streamGenerateContent": { - "id": "aiplatform.endpoints.streamGenerateContent", - "path": "v1/{+model}:streamGenerateContent", - "flatPath": "v1/endpoints/{endpointsId}:streamGenerateContent", - "httpMethod": "POST", - "parameters": { - "model": { - "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "model" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Generate content with multimodal inputs with streaming support." + "timeSeriesIdentifierColumn": { + "description": "The column name of the time series identifier column that identifies the time series.", + "type": "string" }, - "countTokens": { - "id": "aiplatform.endpoints.countTokens", - "path": "v1/{+endpoint}:countTokens", - "flatPath": "v1/endpoints/{endpointsId}:countTokens", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1CountTokensRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1CountTokensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Perform a token counting." + "timeColumn": { + "description": "The column name of the time column that identifies time order in the time series.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig": { + "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig", + "description": "The time series Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", + "type": "object", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource" }, - "computeTokens": { - "id": "aiplatform.endpoints.computeTokens", - "path": "v1/{+endpoint}:computeTokens", - "flatPath": "v1/endpoints/{endpointsId}:computeTokens", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Return a list of tokens based on the input text." + "bigquerySource": { + "$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource" } - }, - "resources": { - "chat": { - "methods": { - "completions": { - "id": "aiplatform.endpoints.chat.completions", - "path": "v1/{+endpoint}/chat/completions", - "flatPath": "v1/endpoints/{endpointsId}/chat/completions", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^endpoints/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleApiHttpBody" - }, - "response": { - "$ref": "GoogleApiHttpBody" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Exposes an OpenAI-compatible endpoint for chat completions." - } + } + }, + "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource": { + "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource", + "type": "object", + "properties": { + "uri": { + "description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", + "type": "array", + "items": { + "type": "string" } } } }, - "publishers": { - "resources": { - "models": { - "methods": { - "predict": { - "id": "aiplatform.publishers.models.predict", - "path": "v1/{+endpoint}:predict", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:predict", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1PredictRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1PredictResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Perform an online prediction." - }, - "predictLongRunning": { - "id": "aiplatform.publishers.models.predictLongRunning", - "path": "v1/{+endpoint}:predictLongRunning", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:predictLongRunning", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "" - }, - "fetchPredictOperation": { - "id": "aiplatform.publishers.models.fetchPredictOperation", - "path": "v1/{+endpoint}:fetchPredictOperation", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Fetch an asynchronous online prediction operation." - }, - "generateContent": { - "id": "aiplatform.publishers.models.generateContent", - "path": "v1/{+model}:generateContent", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:generateContent", - "httpMethod": "POST", - "parameters": { - "model": { - "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "model" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Generate content with multimodal inputs." - }, - "streamGenerateContent": { - "id": "aiplatform.publishers.models.streamGenerateContent", - "path": "v1/{+model}:streamGenerateContent", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", - "httpMethod": "POST", - "parameters": { - "model": { - "description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "model" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1GenerateContentRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1GenerateContentResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "description": "Generate content with multimodal inputs with streaming support." - }, - "countTokens": { - "id": "aiplatform.publishers.models.countTokens", - "path": "v1/{+endpoint}:countTokens", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:countTokens", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1CountTokensRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1CountTokensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Perform a token counting." - }, - "computeTokens": { - "id": "aiplatform.publishers.models.computeTokens", - "path": "v1/{+endpoint}:computeTokens", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}:computeTokens", - "httpMethod": "POST", - "parameters": { - "endpoint": { - "description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "endpoint" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Return a list of tokens based on the input text." - }, - "get": { - "id": "aiplatform.publishers.models.get", - "path": "v1/{+name}", - "flatPath": "v1/publishers/{publishersId}/models/{modelsId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", - "pattern": "^publishers/[^/]+/models/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "languageCode": { - "description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in.", - "location": "query", - "type": "string" - }, - "view": { - "description": "Optional. PublisherModel view specifying which fields to read.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include basic metadata about the publisher model, but not the full contents.", - "Include everything.", - "Include: VersionId, ModelVersionExternalName, and SupportedActions." - ], - "enum": [ - "PUBLISHER_MODEL_VIEW_UNSPECIFIED", - "PUBLISHER_MODEL_VIEW_BASIC", - "PUBLISHER_MODEL_VIEW_FULL", - "PUBLISHER_MODEL_VERSION_VIEW_BASIC" - ] - }, - "isHuggingFaceModel": { - "description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", - "location": "query", - "type": "boolean" - }, - "huggingFaceToken": { - "description": "Optional. Token used to access Hugging Face gated models.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1PublisherModel" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a Model Garden publisher model." - } - } + "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource": { + "id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource", + "type": "object", + "properties": { + "uri": { + "description": "The URI of a BigQuery table.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation", + "description": "Annotation details specific to video action recognition.", + "type": "object", + "properties": { + "timeSegment": { + "description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video.", + "$ref": "GoogleCloudAiplatformV1SchemaTimeSegment" + }, + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" } } }, - "reasoningEngines": { - "methods": { - "query": { - "id": "aiplatform.reasoningEngines.query", - "path": "v1/{+name}:query", - "flatPath": "v1/reasoningEngines/{reasoningEnginesId}:query", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "pattern": "^reasoningEngines/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Queries using a reasoning engine." + "GoogleCloudAiplatformV1SchemaTimeSegment": { + "id": "GoogleCloudAiplatformV1SchemaTimeSegment", + "description": "A time period inside of a DataItem that has a time dimension (e.g. video).", + "type": "object", + "properties": { + "startTimeOffset": { + "description": "Start of the time segment (inclusive), represented as the duration since the start of the DataItem.", + "type": "string", + "format": "google-duration" }, - "streamQuery": { - "id": "aiplatform.reasoningEngines.streamQuery", - "path": "v1/{+name}:streamQuery", - "flatPath": "v1/reasoningEngines/{reasoningEnginesId}:streamQuery", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "pattern": "^reasoningEngines/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest" - }, - "response": { - "$ref": "GoogleApiHttpBody" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Streams queries using a reasoning engine." + "endTimeOffset": { + "description": "End of the time segment (exclusive), represented as the duration since the start of the DataItem.", + "type": "string", + "format": "google-duration" + } + } + }, + "GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation", + "description": "Annotation details specific to video classification.", + "type": "object", + "properties": { + "timeSegment": { + "description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video.", + "$ref": "GoogleCloudAiplatformV1SchemaTimeSegment" }, - "create": { - "id": "aiplatform.reasoningEngines.create", - "path": "v1/reasoningEngines", - "flatPath": "v1/reasoningEngines", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [], - "request": { - "$ref": "GoogleCloudAiplatformV1ReasoningEngine" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Creates a reasoning engine." + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" }, - "get": { - "id": "aiplatform.reasoningEngines.get", - "path": "v1/{+name}", - "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "pattern": "^reasoningEngines/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudAiplatformV1ReasoningEngine" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Gets a reasoning engine." + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaVideoDataItem": { + "id": "GoogleCloudAiplatformV1SchemaVideoDataItem", + "description": "Payload of Video DataItem.", + "type": "object", + "properties": { + "gcsUri": { + "description": "Required. Google Cloud Storage URI points to the original video in user's bucket. The video is up to 50 GB in size and up to 3 hour in duration.", + "type": "string" }, - "list": { - "id": "aiplatform.reasoningEngines.list", - "path": "v1/reasoningEngines", - "flatPath": "v1/reasoningEngines", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The standard list page size.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The standard list page token.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [], - "response": { - "$ref": "GoogleCloudAiplatformV1ListReasoningEnginesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Lists reasoning engines in a location." + "mimeType": { + "description": "Output only. The mime type of the content of the video. Only the videos in below listed mime types are supported. Supported mime_type: - video/mp4 - video/avi - video/quicktime", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaVideoDatasetMetadata": { + "id": "GoogleCloudAiplatformV1SchemaVideoDatasetMetadata", + "description": "The metadata of Datasets that contain Video DataItems.", + "type": "object", + "properties": { + "dataItemSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Video DataItems that belong to this Dataset.", + "type": "string" }, - "patch": { - "id": "aiplatform.reasoningEngines.patch", - "path": "v1/{+name}", - "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "pattern": "^reasoningEngines/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Optional. Mask specifying which fields to update.", - "location": "query", - "type": "string", - "format": "google-fieldmask" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GoogleCloudAiplatformV1ReasoningEngine" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Updates a reasoning engine." + "gcsBucket": { + "description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation": { + "id": "GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation", + "description": "Annotation details specific to video object tracking.", + "type": "object", + "properties": { + "timeOffset": { + "description": "A time (frame) of a video to which this annotation pertains. Represented as the duration since the video's start.", + "type": "string", + "format": "google-duration" }, - "delete": { - "id": "aiplatform.reasoningEngines.delete", - "path": "v1/{+name}", - "flatPath": "v1/reasoningEngines/{reasoningEnginesId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", - "pattern": "^reasoningEngines/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "force": { - "description": "Optional. If set to true, child resources of this reasoning engine will also be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error when the reasoning engine has undeleted child resources.", - "location": "query", - "type": "boolean" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Deletes a reasoning engine." + "xMin": { + "description": "The leftmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "xMax": { + "description": "The rightmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "yMin": { + "description": "The topmost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "yMax": { + "description": "The bottommost coordinate of the bounding box.", + "type": "number", + "format": "double" + }, + "instanceId": { + "description": "The instance of the object, expressed as a positive integer. Used to track the same object across different frames.", + "type": "string", + "format": "int64" + }, + "annotationSpecId": { + "description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", + "type": "string" + }, + "displayName": { + "description": "The display name of the AnnotationSpec that this Annotation pertains to.", + "type": "string" } } }, - "media": { - "methods": { - "upload": { - "id": "aiplatform.media.upload", - "path": "v1/{+parent}/ragFiles:upload", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", - "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "supportsMediaUpload": true, - "mediaUpload": { - "accept": [ - "*/*" - ], - "protocols": { - "simple": { - "multipart": true, - "path": "/upload/v1/{+parent}/ragFiles:upload" - } - } - }, - "request": { - "$ref": "GoogleCloudAiplatformV1UploadRagFileRequest" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1UploadRagFileResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Upload a file into a RagCorpus." + "GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata": { + "id": "GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata", + "type": "object", + "properties": { + "multiLabel": { + "description": "Whether or not the classification label is multi_label.", + "type": "boolean" + } + } + }, + "GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata": { + "id": "GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata", + "type": "object", + "properties": {} + }, + "GoogleCloudAiplatformV1DeployOperationMetadata": { + "id": "GoogleCloudAiplatformV1DeployOperationMetadata", + "description": "Runtime operation information for ModelGardenService.Deploy.", + "type": "object", + "properties": { + "genericMetadata": { + "description": "The operation generic information.", + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata" + }, + "publisherModel": { + "description": "Output only. The name of the model resource.", + "readOnly": true, + "type": "string" + }, + "destination": { + "description": "Output only. The resource name of the Location to deploy the model in. Format: `projects/{project}/locations/{location}`", + "readOnly": true, + "type": "string" + }, + "projectNumber": { + "description": "Output only. The project number where the deploy model request is sent.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "modelId": { + "description": "Output only. The model id to be used at query time.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudAiplatformV1DeployResponse": { + "id": "GoogleCloudAiplatformV1DeployResponse", + "description": "Response message for ModelGardenService.Deploy.", + "type": "object", + "properties": { + "publisherModel": { + "description": "Output only. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`", + "readOnly": true, + "type": "string" + }, + "endpoint": { + "description": "Output only. The name of the Endpoint created. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "Output only. The name of the Model created. Format: `projects/{project}/locations/{location}/models/{model}`", + "readOnly": true, + "type": "string" } } } }, - "description": "Train high-quality custom machine learning models with minimal machine learning expertise and effort.", + "version_module": true, + "rootUrl": "https://aiplatform.googleapis.com/", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "name": "aiplatform", "protocol": "rest", + "ownerName": "Google", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "endpoints": [ { "endpointUrl": "https://africa-south1-aiplatform.googleapis.com/", @@ -47965,6 +58801,11 @@ "location": "europe-west10", "description": "Locational Endpoint" }, + { + "endpointUrl": "https://europe-west15-aiplatform.googleapis.com/", + "location": "europe-west15", + "description": "Locational Endpoint" + }, { "endpointUrl": "https://europe-west2-aiplatform.googleapis.com/", "location": "europe-west2", @@ -48089,6 +58930,23 @@ "endpointUrl": "https://us-east5-aiplatform.googleapis.com/", "location": "us-east5", "description": "Locational Endpoint" + }, + { + "endpointUrl": "https://aiplatform.us.rep.googleapis.com/", + "location": "us", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://aiplatform.eu.rep.googleapis.com/", + "location": "eu", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://staging-aiplatform.us.rep.sandbox.googleapis.com/", + "location": "us", + "description": "Regional Endpoint" } - ] + ], + "baseUrl": "https://aiplatform.googleapis.com/", + "id": "aiplatform:v1" } diff --git a/modules/test-resources/src/main/resources/iamcredentials_v1.json b/modules/test-resources/src/main/resources/iamcredentials_v1.json index 9e5d65b..e15ee77 100644 --- a/modules/test-resources/src/main/resources/iamcredentials_v1.json +++ b/modules/test-resources/src/main/resources/iamcredentials_v1.json @@ -1,414 +1,550 @@ { - "canonicalName": "IAM Credentials", - "protocol": "rest", + "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials", "fullyEncodeReservedExpansion": true, - "kind": "discovery#restDescription", - "resources": { - "projects": { - "resources": { - "serviceAccounts": { - "methods": { - "generateAccessToken": { - "id": "iamcredentials.projects.serviceAccounts.generateAccessToken", - "path": "v1/{+name}:generateAccessToken", - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GenerateAccessTokenRequest" - }, - "response": { - "$ref": "GenerateAccessTokenResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Generates an OAuth 2.0 access token for a service account." - }, - "generateIdToken": { - "id": "iamcredentials.projects.serviceAccounts.generateIdToken", - "path": "v1/{+name}:generateIdToken", - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "GenerateIdTokenRequest" - }, - "response": { - "$ref": "GenerateIdTokenResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Generates an OpenID Connect ID token for a service account." - }, - "signBlob": { - "id": "iamcredentials.projects.serviceAccounts.signBlob", - "path": "v1/{+name}:signBlob", - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "SignBlobRequest" - }, - "response": { - "$ref": "SignBlobResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Signs a blob using a service account's system-managed private key." - }, - "signJwt": { - "id": "iamcredentials.projects.serviceAccounts.signJwt", - "path": "v1/{+name}:signJwt", - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "SignJwtRequest" - }, - "response": { - "$ref": "SignJwtResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "description": "Signs a JWT using a service account's system-managed private key." - }, - "getAllowedLocations": { - "id": "iamcredentials.projects.serviceAccounts.getAllowedLocations", - "path": "v1/{+name}/allowedLocations", - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/allowedLocations", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. Resource name of service account.", - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ServiceAccountAllowedLocations" - }, - "description": "Returns the trust boundary info for a given service account." - } - } + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } }, - "version": "v1", - "title": "IAM Service Account Credentials API", - "description": "Creates short-lived credentials for impersonating IAM service accounts. Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API. ", - "ownerName": "Google", - "ownerDomain": "google.com", - "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials", "id": "iamcredentials:v1", + "canonicalName": "IAM Credentials", + "servicePath": "", + "ownerName": "Google", + "parameters": { + "fields": { + "type": "string", + "location": "query", + "description": "Selector specifying which fields to include in a partial response." + }, + "access_token": { + "location": "query", + "type": "string", + "description": "OAuth access token." + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "default": "true" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enum": [ + "1", + "2" + ], + "location": "query", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ] + }, + "upload_protocol": { + "location": "query", + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "type": "string", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "location": "query", + "description": "Data format for response." + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + } + }, + "basePath": "", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "name": "iamcredentials", + "version": "v1", + "protocol": "rest", + "kind": "discovery#restDescription", + "batchPath": "batch", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://iamcredentials.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "endpointUrl": "https://iamcredentials.europe-west1.rep.googleapis.com/", + "location": "europe-west1", + "description": "Regional Endpoint" + }, + { + "location": "us-central1", + "endpointUrl": "https://iamcredentials.us-central1.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://iamcredentials.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "endpointUrl": "https://iamcredentials.us-east7.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://iamcredentials.us-west1.rep.googleapis.com/", + "location": "us-west1" + } + ], + "ownerDomain": "google.com", "schemas": { - "GenerateAccessTokenRequest": { - "id": "GenerateAccessTokenRequest", + "SignBlobRequest": { "type": "object", + "id": "SignBlobRequest", "properties": { "delegates": { - "description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "type": "array", + "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", "items": { "type": "string" - } + }, + "type": "array" }, - "scope": { - "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.", + "payload": { + "format": "byte", + "description": "Required. The bytes to sign.", + "type": "string" + } + } + }, + "SignJwtRequest": { + "properties": { + "delegates": { "type": "array", "items": { "type": "string" - } + }, + "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid." }, - "lifetime": { - "description": "The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour.", - "type": "string", - "format": "google-duration" + "payload": { + "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.", + "type": "string" } - } + }, + "id": "SignJwtRequest", + "type": "object" }, - "GenerateAccessTokenResponse": { - "id": "GenerateAccessTokenResponse", - "type": "object", + "ServiceAccountAllowedLocations": { + "description": "Represents a list of allowed locations for given service account.", + "id": "ServiceAccountAllowedLocations", "properties": { - "accessToken": { - "description": "The OAuth 2.0 access token.", - "type": "string" + "locations": { + "readOnly": true, + "items": { + "type": "string" + }, + "description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", + "type": "array" }, - "expireTime": { - "description": "Token expiration time. The expiration time is always set.", + "encodedLocations": { "type": "string", - "format": "google-datetime" + "readOnly": true, + "description": "Output only. The hex encoded bitmap of the trust boundary locations" } - } + }, + "type": "object" }, - "GenerateIdTokenRequest": { - "id": "GenerateIdTokenRequest", + "GenerateIdTokenResponse": { + "type": "object", + "properties": { + "token": { + "description": "The OpenId Connect ID token. The token is a JSON Web Token (JWT) that contains a payload with claims. See the [JSON Web Token spec](https://tools.ietf.org/html/rfc7519) for more information. Here is an example of a decoded JWT payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1496953245, \"exp\": 1496953245, \"aud\": \"https://www.example.com\", \"sub\": \"107517467455664443765\", \"azp\": \"107517467455664443765\", \"email\": \"my-iam-account@my-project.iam.gserviceaccount.com\", \"email_verified\": true, \"google\": { \"organization_number\": 123456 } } ```", + "type": "string" + } + }, + "id": "GenerateIdTokenResponse" + }, + "GenerateAccessTokenRequest": { + "id": "GenerateAccessTokenRequest", "type": "object", "properties": { "delegates": { - "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", "type": "array", + "description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", "items": { "type": "string" } }, - "audience": { - "description": "Required. The audience for the token, such as the API or account that this token grants access to.", - "type": "string" + "scope": { + "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.", + "type": "array", + "items": { + "type": "string" + } }, - "includeEmail": { - "description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.", - "type": "boolean" - } - } - }, - "GenerateIdTokenResponse": { - "id": "GenerateIdTokenResponse", - "type": "object", - "properties": { - "token": { - "description": "The OpenId Connect ID token.", + "lifetime": { + "description": "The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour.", + "format": "google-duration", "type": "string" } } }, - "SignBlobRequest": { - "id": "SignBlobRequest", + "WorkloadIdentityPoolAllowedLocations": { + "id": "WorkloadIdentityPoolAllowedLocations", "type": "object", "properties": { - "delegates": { - "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", - "type": "array", + "locations": { + "readOnly": true, "items": { "type": "string" - } + }, + "description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", + "type": "array" }, - "payload": { - "description": "Required. The bytes to sign.", + "encodedLocations": { "type": "string", - "format": "byte" + "description": "Output only. The hex encoded bitmap of the trust boundary locations", + "readOnly": true } - } + }, + "description": "Represents a list of allowed locations for given workload identity pool." }, - "SignBlobResponse": { - "id": "SignBlobResponse", + "GenerateAccessTokenResponse": { + "id": "GenerateAccessTokenResponse", "type": "object", "properties": { - "keyId": { - "description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", - "type": "string" + "accessToken": { + "type": "string", + "description": "The OAuth 2.0 access token." }, - "signedBlob": { - "description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.", + "expireTime": { "type": "string", - "format": "byte" + "format": "google-datetime", + "description": "Token expiration time. The expiration time is always set." } } }, - "SignJwtRequest": { - "id": "SignJwtRequest", + "WorkforcePoolAllowedLocations": { + "description": "Represents a list of allowed locations for given workforce pool.", + "properties": { + "encodedLocations": { + "type": "string", + "description": "Output only. The hex encoded bitmap of the trust boundary locations", + "readOnly": true + }, + "locations": { + "description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "id": "WorkforcePoolAllowedLocations", + "type": "object" + }, + "GenerateIdTokenRequest": { "type": "object", + "id": "GenerateIdTokenRequest", "properties": { + "organizationNumberIncluded": { + "type": "boolean", + "description": "Include the organization number of the service account in the token. If set to `true`, the token will contain a `google.organization_number` claim. The value of the claim will be `null` if the service account isn't associated with an organization." + }, "delegates": { - "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", "type": "array", "items": { "type": "string" - } + }, + "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid." }, - "payload": { - "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.", + "audience": { + "description": "Required. The audience for the token, such as the API or account that this token grants access to.", "type": "string" + }, + "includeEmail": { + "description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.", + "type": "boolean" } } }, "SignJwtResponse": { - "id": "SignJwtResponse", "type": "object", + "id": "SignJwtResponse", "properties": { - "keyId": { - "description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", - "type": "string" - }, "signedJwt": { "description": "The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by the `kid` field in the header. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.", "type": "string" + }, + "keyId": { + "description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", + "type": "string" } } }, - "ServiceAccountAllowedLocations": { - "id": "ServiceAccountAllowedLocations", - "description": "Represents a list of allowed locations for given service account.", + "SignBlobResponse": { + "id": "SignBlobResponse", "type": "object", "properties": { - "locations": { - "description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } + "keyId": { + "type": "string", + "description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`" }, - "encodedLocations": { - "description": "Output only. The hex encoded bitmap of the trust boundary locations", - "readOnly": true, - "type": "string" + "signedBlob": { + "type": "string", + "description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.", + "format": "byte" } } } }, - "basePath": "", - "version_module": true, - "batchPath": "batch", - "baseUrl": "https://iamcredentials.googleapis.com/", + "rootUrl": "https://iamcredentials.googleapis.com/", "discoveryVersion": "v1", - "parameters": { - "access_token": { - "type": "string", - "description": "OAuth access token.", - "location": "query" - }, - "alt": { - "type": "string", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "callback": { - "type": "string", - "description": "JSONP", - "location": "query" - }, - "fields": { - "type": "string", - "description": "Selector specifying which fields to include in a partial response.", - "location": "query" - }, - "key": { - "type": "string", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query" - }, - "oauth_token": { - "type": "string", - "description": "OAuth 2.0 token for the current user.", - "location": "query" - }, - "prettyPrint": { - "type": "boolean", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "location": "query" - }, - "quotaUser": { - "type": "string", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query" - }, - "uploadType": { - "type": "string", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - } - }, - "servicePath": "", + "revision": "20251108", + "title": "IAM Service Account Credentials API", "mtlsRootUrl": "https://iamcredentials.mtls.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + "version_module": true, + "resources": { + "locations": { + "resources": { + "workforcePools": { + "methods": { + "getAllowedLocations": { + "response": { + "$ref": "WorkforcePoolAllowedLocations" + }, + "id": "iamcredentials.locations.workforcePools.getAllowedLocations", + "parameters": { + "name": { + "description": "Required. Resource name of workforce pool.", + "pattern": "^locations/[^/]+/workforcePools/[^/]+$", + "type": "string", + "location": "path", + "required": true + } + }, + "path": "v1/{+name}/allowedLocations", + "description": "Returns the trust boundary info for a given workforce pool.", + "parameterOrder": [ + "name" + ], + "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/allowedLocations", + "httpMethod": "GET" + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "workloadIdentityPools": { + "methods": { + "getAllowedLocations": { + "id": "iamcredentials.projects.locations.workloadIdentityPools.getAllowedLocations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/allowedLocations", + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$", + "type": "string", + "required": true, + "description": "Required. Resource name of workload identity pool.", + "location": "path" + } + }, + "path": "v1/{+name}/allowedLocations", + "response": { + "$ref": "WorkloadIdentityPoolAllowedLocations" + }, + "description": "Returns the trust boundary info for a given workload identity pool.", + "parameterOrder": [ + "name" + ] + } + } + } + } + }, + "serviceAccounts": { + "methods": { + "signBlob": { + "parameterOrder": [ + "name" + ], + "id": "iamcredentials.projects.serviceAccounts.signBlob", + "response": { + "$ref": "SignBlobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", + "type": "string", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path", + "required": true + } + }, + "path": "v1/{+name}:signBlob", + "description": "Signs a blob using a service account's system-managed private key.", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", + "httpMethod": "POST", + "request": { + "$ref": "SignBlobRequest" + } + }, + "getAllowedLocations": { + "description": "Returns the trust boundary info for a given service account.", + "id": "iamcredentials.projects.serviceAccounts.getAllowedLocations", + "parameterOrder": [ + "name" + ], + "path": "v1/{+name}/allowedLocations", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/allowedLocations", + "parameters": { + "name": { + "type": "string", + "location": "path", + "required": true, + "description": "Required. Resource name of service account.", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" + } + }, + "httpMethod": "GET", + "response": { + "$ref": "ServiceAccountAllowedLocations" + } + }, + "signJwt": { + "response": { + "$ref": "SignJwtResponse" + }, + "path": "v1/{+name}:signJwt", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "request": { + "$ref": "SignJwtRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "id": "iamcredentials.projects.serviceAccounts.signJwt", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", + "description": "Signs a JWT using a service account's system-managed private key.", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "type": "string", + "location": "path", + "required": true, + "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid." + } + } + }, + "generateIdToken": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken", + "request": { + "$ref": "GenerateIdTokenRequest" + }, + "description": "Generates an OpenID Connect ID token for a service account.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "required": true, + "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", + "type": "string", + "location": "path", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" + } + }, + "parameterOrder": [ + "name" + ], + "path": "v1/{+name}:generateIdToken", + "httpMethod": "POST", + "response": { + "$ref": "GenerateIdTokenResponse" + }, + "id": "iamcredentials.projects.serviceAccounts.generateIdToken" + }, + "generateAccessToken": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "path": "v1/{+name}:generateAccessToken", + "request": { + "$ref": "GenerateAccessTokenRequest" + }, + "description": "Generates an OAuth 2.0 access token for a service account.", + "httpMethod": "POST", + "id": "iamcredentials.projects.serviceAccounts.generateAccessToken", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GenerateAccessTokenResponse" + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken", + "parameters": { + "name": { + "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + } + } + } } } } }, - "rootUrl": "https://iamcredentials.googleapis.com/", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "revision": "20241111" + "baseUrl": "https://iamcredentials.googleapis.com/", + "description": "Creates short-lived credentials for impersonating IAM service accounts. Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API. " } diff --git a/modules/test-resources/src/main/resources/pubsub_v1.json b/modules/test-resources/src/main/resources/pubsub_v1.json index 7b20702..cb0f0df 100644 --- a/modules/test-resources/src/main/resources/pubsub_v1.json +++ b/modules/test-resources/src/main/resources/pubsub_v1.json @@ -1,2208 +1,839 @@ { - "endpoints": [ - { - "endpointUrl": "https://pubsub.me-central2.rep.googleapis.com/", - "location": "me-central2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west3.rep.googleapis.com/", - "location": "europe-west3", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west8.rep.googleapis.com/", - "location": "europe-west8", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west9.rep.googleapis.com/", - "location": "europe-west9", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-central1.rep.googleapis.com/", - "location": "us-central1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-central2.rep.googleapis.com/", - "location": "us-central2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east1.rep.googleapis.com/", - "location": "us-east1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east4.rep.googleapis.com/", - "location": "us-east4", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east5.rep.googleapis.com/", - "location": "us-east5", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-south1.rep.googleapis.com/", - "location": "us-south1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west1.rep.googleapis.com/", - "location": "us-west1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west2.rep.googleapis.com/", - "location": "us-west2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west3.rep.googleapis.com/", - "location": "us-west3", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west4.rep.googleapis.com/", - "location": "us-west4", - "description": "Regional Endpoint" - } - ], - "canonicalName": "Pubsub", - "revision": "20240912", - "ownerName": "Google", - "protocol": "rest", - "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", + "basePath": "", + "title": "Cloud Pub/Sub API", "rootUrl": "https://pubsub.googleapis.com/", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "documentationLink": "https://cloud.google.com/pubsub/docs", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - }, - "https://www.googleapis.com/auth/pubsub": { - "description": "View and manage Pub/Sub topics and subscriptions" - } - } - } - }, - "name": "pubsub", - "parameters": { - "access_token": { - "type": "string", - "description": "OAuth access token.", - "location": "query" - }, - "alt": { - "type": "string", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "callback": { - "type": "string", - "description": "JSONP", - "location": "query" - }, - "fields": { - "type": "string", - "description": "Selector specifying which fields to include in a partial response.", - "location": "query" - }, - "key": { - "type": "string", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query" - }, - "oauth_token": { - "type": "string", - "description": "OAuth 2.0 token for the current user.", - "location": "query" - }, - "prettyPrint": { - "type": "boolean", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "location": "query" - }, - "quotaUser": { - "type": "string", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query" - }, - "uploadType": { - "type": "string", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - } - }, - "baseUrl": "https://pubsub.googleapis.com/", - "version": "v1", - "mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", - "id": "pubsub:v1", - "batchPath": "batch", - "discoveryVersion": "v1", - "schemas": { - "SetIamPolicyRequest": { - "id": "SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", - "$ref": "Policy" - } - } - }, - "Policy": { - "id": "Policy", - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "type": "object", - "properties": { - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "type": "integer", - "format": "int32" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "type": "array", - "items": { - "$ref": "Binding" - } - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "type": "string", - "format": "byte" - } - } - }, - "Binding": { - "id": "Binding", - "description": "Associates `members`, or principals, with a `role`.", - "type": "object", - "properties": { - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "type": "array", - "items": { - "type": "string" - } - }, - "condition": { - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "$ref": "Expr" - } - } - }, - "Expr": { - "id": "Expr", - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "type": "object", - "properties": { - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - }, - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - } - } - }, - "TestIamPermissionsRequest": { - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "TestIamPermissionsResponse": { - "id": "TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Schema": { - "id": "Schema", - "description": "A schema resource.", - "type": "object", - "properties": { - "name": { - "description": "Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`.", - "type": "string" - }, - "type": { - "description": "The type of the schema definition.", - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "A Protocol Buffer schema definition.", - "An Avro schema definition." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PROTOCOL_BUFFER", - "AVRO" - ] - }, - "definition": { - "description": "The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`.", - "type": "string" - }, - "revisionId": { - "description": "Output only. Immutable. The revision ID of the schema.", - "readOnly": true, - "type": "string" - }, - "revisionCreateTime": { - "description": "Output only. The timestamp that the revision was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "ListSchemasResponse": { - "id": "ListSchemasResponse", - "description": "Response for the `ListSchemas` method.", - "type": "object", - "properties": { - "schemas": { - "description": "The resulting schemas.", - "type": "array", - "items": { - "$ref": "Schema" - } - }, - "nextPageToken": { - "description": "If not empty, indicates that there may be more schemas that match the request; this value should be passed in a new `ListSchemasRequest`.", - "type": "string" - } - } - }, - "ListSchemaRevisionsResponse": { - "id": "ListSchemaRevisionsResponse", - "description": "Response for the `ListSchemaRevisions` method.", - "type": "object", - "properties": { - "schemas": { - "description": "The revisions of the schema.", - "type": "array", - "items": { - "$ref": "Schema" - } - }, - "nextPageToken": { - "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", - "type": "string" - } - } - }, - "CommitSchemaRequest": { - "id": "CommitSchemaRequest", - "description": "Request for CommitSchema method.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The schema revision to commit.", - "$ref": "Schema" - } - } - }, - "RollbackSchemaRequest": { - "id": "RollbackSchemaRequest", - "description": "Request for the `RollbackSchema` method.", - "type": "object", - "properties": { - "revisionId": { - "description": "Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8", - "type": "string" - } - } - }, - "Empty": { - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "type": "object", - "properties": {} - }, - "ValidateSchemaRequest": { - "id": "ValidateSchemaRequest", - "description": "Request for the `ValidateSchema` method.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The schema object to validate.", - "$ref": "Schema" - } - } - }, - "ValidateSchemaResponse": { - "id": "ValidateSchemaResponse", - "description": "Response for the `ValidateSchema` method. Empty for now.", - "type": "object", - "properties": {} - }, - "ValidateMessageRequest": { - "id": "ValidateMessageRequest", - "description": "Request for the `ValidateMessage` method.", - "type": "object", - "properties": { - "name": { - "description": "Name of the schema against which to validate. Format is `projects/{project}/schemas/{schema}`.", - "type": "string" - }, - "schema": { - "description": "Ad-hoc schema against which to validate", - "$ref": "Schema" - }, - "message": { - "description": "Message to validate against the provided `schema_spec`.", - "type": "string", - "format": "byte" - }, - "encoding": { - "description": "The encoding expected for messages", - "type": "string", - "enumDescriptions": [ - "Unspecified", - "JSON encoding", - "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." - ], - "enum": [ - "ENCODING_UNSPECIFIED", - "JSON", - "BINARY" - ] - } - } - }, - "ValidateMessageResponse": { - "id": "ValidateMessageResponse", - "description": "Response for the `ValidateMessage` method. Empty for now.", - "type": "object", - "properties": {} - }, - "Topic": { - "id": "Topic", - "description": "A topic resource.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "labels": { - "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "messageStoragePolicy": { - "description": "Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.", - "$ref": "MessageStoragePolicy" - }, - "kmsKeyName": { - "description": "Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", - "type": "string" - }, - "schemaSettings": { - "description": "Optional. Settings for validating messages published against a schema.", - "$ref": "SchemaSettings" - }, - "satisfiesPzs": { - "description": "Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.", - "type": "boolean" - }, - "messageRetentionDuration": { - "description": "Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes.", - "type": "string", - "format": "google-duration" - }, - "state": { - "description": "Output only. An output-only field indicating the state of the topic.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The topic does not have any persistent errors.", - "Ingestion from the data source has encountered a permanent error. See the more detailed error state in the corresponding ingestion source configuration." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "INGESTION_RESOURCE_ERROR" - ] - }, - "ingestionDataSourceSettings": { - "description": "Optional. Settings for ingestion from a data source into this topic.", - "$ref": "IngestionDataSourceSettings" - } - } - }, - "MessageStoragePolicy": { - "id": "MessageStoragePolicy", - "description": "A policy constraining the storage of messages published to the topic.", - "type": "object", - "properties": { - "allowedPersistenceRegions": { - "description": "Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.", - "type": "array", - "items": { - "type": "string" - } - }, - "enforceInTransit": { - "description": "Optional. If true, `allowed_persistence_regions` is also used to enforce in-transit guarantees for messages. That is, Pub/Sub will fail Publish operations on this topic and subscribe operations on any subscription attached to this topic in any region that is not in `allowed_persistence_regions`.", - "type": "boolean" - } - } - }, - "SchemaSettings": { - "id": "SchemaSettings", - "description": "Settings for validating messages published against a schema.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The name of the schema that messages published should be validated against. Format is `projects/{project}/schemas/{schema}`. The value of this field will be `_deleted-schema_` if the schema has been deleted.", - "type": "string" - }, - "encoding": { - "description": "Optional. The encoding of messages validated against `schema`.", - "type": "string", - "enumDescriptions": [ - "Unspecified", - "JSON encoding", - "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." - ], - "enum": [ - "ENCODING_UNSPECIFIED", - "JSON", - "BINARY" - ] - }, - "firstRevisionId": { - "description": "Optional. The minimum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against last_revision or any revision created before.", - "type": "string" - }, - "lastRevisionId": { - "description": "Optional. The maximum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against first_revision or any revision created after.", - "type": "string" - } - } - }, - "IngestionDataSourceSettings": { - "id": "IngestionDataSourceSettings", - "description": "Settings for an ingestion data source on a topic.", - "type": "object", - "properties": { - "awsKinesis": { - "description": "Optional. Amazon Kinesis Data Streams.", - "$ref": "AwsKinesis" - } - } - }, - "AwsKinesis": { - "id": "AwsKinesis", - "description": "Ingestion settings for Amazon Kinesis Data Streams.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Kinesis ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while consuming data from Kinesis. This can happen if: - The provided `aws_role_arn` does not exist or does not have the appropriate permissions attached. - The provided `aws_role_arn` is not set up properly for Identity Federation using `gcp_service_account`. - The Pub/Sub SA is not granted the `iam.serviceAccounts.getOpenIdToken` permission on `gcp_service_account`.", - "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", - "The Kinesis stream does not exist.", - "The Kinesis consumer does not exist." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "KINESIS_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "STREAM_NOT_FOUND", - "CONSUMER_NOT_FOUND" - ] - }, - "streamArn": { - "description": "Required. The Kinesis stream ARN to ingest data from.", - "type": "string" - }, - "consumerArn": { - "description": "Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out mode. The consumer must be already created and ready to be used.", - "type": "string" - }, - "awsRoleArn": { - "description": "Required. AWS role ARN to be used for Federated Identity authentication with Kinesis. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", - "type": "string" - }, - "gcpServiceAccount": { - "description": "Required. The GCP service account to be used for Federated Identity authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", - "type": "string" - } - } - }, - "UpdateTopicRequest": { - "id": "UpdateTopicRequest", - "description": "Request for the UpdateTopic method.", - "type": "object", - "properties": { - "topic": { - "description": "Required. The updated topic object.", - "$ref": "Topic" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains \"message_storage_policy\" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "PublishRequest": { - "id": "PublishRequest", - "description": "Request for the Publish method.", - "type": "object", - "properties": { - "messages": { - "description": "Required. The messages to publish.", - "type": "array", - "items": { - "$ref": "PubsubMessage" - } - } - } - }, - "PubsubMessage": { - "id": "PubsubMessage", - "description": "A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.", - "type": "object", - "properties": { - "data": { - "description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", - "type": "string", - "format": "byte" - }, - "attributes": { - "description": "Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "messageId": { - "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.", - "type": "string" - }, - "publishTime": { - "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.", - "type": "string", - "format": "google-datetime" - }, - "orderingKey": { - "description": "Optional. If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering).", - "type": "string" - } - } - }, - "PublishResponse": { - "id": "PublishResponse", - "description": "Response for the `Publish` method.", - "type": "object", - "properties": { - "messageIds": { - "description": "Optional. The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ListTopicsResponse": { - "id": "ListTopicsResponse", - "description": "Response for the `ListTopics` method.", - "type": "object", - "properties": { - "topics": { - "description": "Optional. The resulting topics.", - "type": "array", - "items": { - "$ref": "Topic" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.", - "type": "string" - } - } - }, - "ListTopicSubscriptionsResponse": { - "id": "ListTopicSubscriptionsResponse", - "description": "Response for the `ListTopicSubscriptions` method.", - "type": "object", - "properties": { - "subscriptions": { - "description": "Optional. The names of subscriptions attached to the topic specified in the request.", - "type": "array", - "items": { - "type": "string" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions.", - "type": "string" - } - } - }, - "ListTopicSnapshotsResponse": { - "id": "ListTopicSnapshotsResponse", - "description": "Response for the `ListTopicSnapshots` method.", - "type": "object", - "properties": { - "snapshots": { - "description": "Optional. The names of the snapshots that match the request.", - "type": "array", - "items": { - "type": "string" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new `ListTopicSnapshotsRequest` to get more snapshots.", - "type": "string" - } - } - }, - "DetachSubscriptionResponse": { - "id": "DetachSubscriptionResponse", - "description": "Response for the DetachSubscription method. Reserved for future use.", - "type": "object", - "properties": {} - }, - "Subscription": { - "id": "Subscription", - "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "topic": { - "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.", - "type": "string" - }, - "pushConfig": { - "description": "Optional. If push delivery is used with this subscription, this field is used to configure it.", - "$ref": "PushConfig" - }, - "bigqueryConfig": { - "description": "Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it.", - "$ref": "BigQueryConfig" - }, - "cloudStorageConfig": { - "description": "Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it.", - "$ref": "CloudStorageConfig" - }, - "ackDeadlineSeconds": { - "description": "Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be _outstanding_. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.", - "type": "integer", - "format": "int32" - }, - "retainAckedMessages": { - "description": "Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", - "type": "boolean" - }, - "messageRetentionDuration": { - "description": "Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 31 days or less than 10 minutes.", - "type": "string", - "format": "google-duration" - }, - "labels": { - "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "enableMessageOrdering": { - "description": "Optional. If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.", - "type": "boolean" - }, - "expirationPolicy": { - "description": "Optional. A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, but `expiration_policy.ttl` is not set, the subscription never expires.", - "$ref": "ExpirationPolicy" - }, - "filter": { - "description": "Optional. An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.", - "type": "string" - }, - "deadLetterPolicy": { - "description": "Optional. A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription.", - "$ref": "DeadLetterPolicy" - }, - "retryPolicy": { - "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.", - "$ref": "RetryPolicy" - }, - "detached": { - "description": "Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.", - "type": "boolean" - }, - "enableExactlyOnceDelivery": { - "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", - "type": "boolean" - }, - "topicMessageRetentionDuration": { - "description": "Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.", - "readOnly": true, - "type": "string", - "format": "google-duration" - }, - "state": { - "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively receive messages", - "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "RESOURCE_ERROR" - ] - }, - "analyticsHubSubscriptionInfo": { - "description": "Output only. Information about the associated Analytics Hub subscription. Only set if the subscritpion is created by Analytics Hub.", - "readOnly": true, - "$ref": "AnalyticsHubSubscriptionInfo" - } - } - }, - "PushConfig": { - "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object", - "properties": { - "pushEndpoint": { - "description": "Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `https://example.com/push`.", - "type": "string" - }, - "attributes": { - "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "oidcToken": { - "description": "Optional. If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message.", - "$ref": "OidcToken" - }, - "pubsubWrapper": { - "description": "Optional. When set, the payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", - "$ref": "PubsubWrapper" - }, - "noWrapper": { - "description": "Optional. When set, the payload to the push endpoint is not wrapped.", - "$ref": "NoWrapper" - } - } - }, - "OidcToken": { - "id": "OidcToken", - "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).", - "type": "object", - "properties": { - "serviceAccountEmail": { - "description": "Optional. [Service account email](https://cloud.google.com/iam/docs/service-accounts) used for generating the OIDC token. For more information on setting up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/docs/push).", - "type": "string" - }, - "audience": { - "description": "Optional. Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.", - "type": "string" - } - } - }, - "PubsubWrapper": { - "id": "PubsubWrapper", - "description": "The payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", - "type": "object", - "properties": {} - }, - "NoWrapper": { - "id": "NoWrapper", - "description": "Sets the `data` field as the HTTP body for delivery.", - "type": "object", - "properties": { - "writeMetadata": { - "description": "Optional. When true, writes the Pub/Sub message metadata to `x-goog-pubsub-:` headers of the HTTP request. Writes the Pub/Sub message attributes to `:` headers of the HTTP request.", - "type": "boolean" - } - } - }, - "BigQueryConfig": { - "id": "BigQueryConfig", - "description": "Configuration for a BigQuery subscription.", - "type": "object", - "properties": { - "table": { - "description": "Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}", - "type": "string" - }, - "useTopicSchema": { - "description": "Optional. When true, use the topic's schema as the columns to write to in BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be enabled at the same time.", - "type": "boolean" - }, - "writeMetadata": { - "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.", - "type": "boolean" - }, - "dropUnknownFields": { - "description": "Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.", - "type": "boolean" - }, - "state": { - "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively send messages to BigQuery", - "Cannot write to the BigQuery table because of permission denied errors. This can happen if - Pub/Sub SA has not been granted the [appropriate BigQuery IAM permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account) - bigquery.googleapis.com API is not enabled for the project ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))", - "Cannot write to the BigQuery table because it does not exist.", - "Cannot write to the BigQuery table due to a schema mismatch.", - "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PERMISSION_DENIED", - "NOT_FOUND", - "SCHEMA_MISMATCH", - "IN_TRANSIT_LOCATION_RESTRICTION" - ] - }, - "useTableSchema": { - "description": "Optional. When true, use the BigQuery table's schema as the columns to write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at the same time.", - "type": "boolean" - }, - "serviceAccountEmail": { - "description": "Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", - "type": "string" - } - } - }, - "CloudStorageConfig": { - "id": "CloudStorageConfig", - "description": "Configuration for a Cloud Storage subscription.", - "type": "object", - "properties": { - "bucket": { - "description": "Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", - "type": "string" - }, - "filenamePrefix": { - "description": "Optional. User-provided prefix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming).", - "type": "string" - }, - "filenameSuffix": { - "description": "Optional. User-provided suffix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming). Must not end in \"/\".", - "type": "string" - }, - "filenameDatetimeFormat": { - "description": "Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the [datetime format guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).", - "type": "string" - }, - "textConfig": { - "description": "Optional. If set, message data will be written to Cloud Storage in text format.", - "$ref": "TextConfig" - }, - "avroConfig": { - "description": "Optional. If set, message data will be written to Cloud Storage in Avro format.", - "$ref": "AvroConfig" - }, - "maxDuration": { - "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgement deadline.", - "type": "string", - "format": "google-duration" - }, - "maxBytes": { - "description": "Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit.", - "type": "string", - "format": "int64" - }, - "maxMessages": { - "description": "Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages.", - "type": "string", - "format": "int64" - }, - "state": { - "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively send messages to Cloud Storage.", - "Cannot write to the Cloud Storage bucket because of permission denied errors.", - "Cannot write to the Cloud Storage bucket because it does not exist.", - "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions.", - "Cannot write to the Cloud Storage bucket due to an incompatibility between the topic schema and subscription settings." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PERMISSION_DENIED", - "NOT_FOUND", - "IN_TRANSIT_LOCATION_RESTRICTION", - "SCHEMA_MISMATCH" - ] - }, - "serviceAccountEmail": { - "description": "Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", - "type": "string" - } - } - }, - "TextConfig": { - "id": "TextConfig", - "description": "Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.", - "type": "object", - "properties": {} - }, - "AvroConfig": { - "id": "AvroConfig", - "description": "Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary.", - "type": "object", - "properties": { - "writeMetadata": { - "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key as additional fields in the output. The subscription name, message_id, and publish_time fields are put in their own fields while all other message properties other than data (for example, an ordering_key, if present) are added as entries in the attributes map.", - "type": "boolean" - }, - "useTopicSchema": { - "description": "Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists.", - "type": "boolean" - } - } - }, - "ExpirationPolicy": { - "id": "ExpirationPolicy", - "description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).", - "type": "object", - "properties": { - "ttl": { - "description": "Optional. Specifies the \"time-to-live\" duration for an associated resource. The resource expires if it is not active for a period of `ttl`. The definition of \"activity\" depends on the type of the associated resource. The minimum and maximum allowed values for `ttl` depend on the type of the associated resource, as well. If `ttl` is not set, the associated resource never expires.", - "type": "string", - "format": "google-duration" - } - } - }, - "DeadLetterPolicy": { - "id": "DeadLetterPolicy", - "description": "Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.", - "type": "object", - "properties": { - "deadLetterTopic": { - "description": "Optional. The name of the topic to which dead letter messages should be published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.", - "type": "string" - }, - "maxDeliveryAttempts": { - "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", - "type": "integer", - "format": "int32" - } - } - }, - "RetryPolicy": { - "id": "RetryPolicy", - "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", - "type": "object", - "properties": { - "minimumBackoff": { - "description": "Optional. The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.", - "type": "string", - "format": "google-duration" - }, - "maximumBackoff": { - "description": "Optional. The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.", - "type": "string", - "format": "google-duration" - } - } - }, - "AnalyticsHubSubscriptionInfo": { - "id": "AnalyticsHubSubscriptionInfo", - "description": "Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", - "type": "object", - "properties": { - "listing": { - "description": "Optional. The name of the associated Analytics Hub listing resource. Pattern: \"projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}\"", - "type": "string" - }, - "subscription": { - "description": "Optional. The name of the associated Analytics Hub subscription resource. Pattern: \"projects/{project}/locations/{location}/subscriptions/{subscription}\"", - "type": "string" - } - } - }, - "UpdateSubscriptionRequest": { - "id": "UpdateSubscriptionRequest", - "description": "Request for the UpdateSubscription method.", - "type": "object", - "properties": { - "subscription": { - "description": "Required. The updated subscription object.", - "$ref": "Subscription" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "ListSubscriptionsResponse": { - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method.", - "type": "object", - "properties": { - "subscriptions": { - "description": "Optional. The subscriptions that match the request.", - "type": "array", - "items": { - "$ref": "Subscription" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions.", - "type": "string" - } - } - }, - "ModifyAckDeadlineRequest": { - "id": "ModifyAckDeadlineRequest", - "description": "Request for the ModifyAckDeadline method.", - "type": "object", - "properties": { - "ackIds": { - "description": "Required. List of acknowledgment IDs.", - "type": "array", - "items": { - "type": "string" - } - }, - "ackDeadlineSeconds": { - "description": "Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify in a single request is 600 seconds (10 minutes).", - "type": "integer", - "format": "int32" - } - } - }, - "AcknowledgeRequest": { - "id": "AcknowledgeRequest", - "description": "Request for the Acknowledge method.", - "type": "object", - "properties": { - "ackIds": { - "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PullRequest": { - "id": "PullRequest", - "description": "Request for the `Pull` method.", - "type": "object", - "properties": { - "returnImmediately": { - "description": "Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the `Pull` response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field.", - "deprecated": true, - "type": "boolean" - }, - "maxMessages": { - "description": "Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.", - "type": "integer", - "format": "int32" - } - } - }, - "PullResponse": { - "id": "PullResponse", - "description": "Response for the `Pull` method.", - "type": "object", - "properties": { - "receivedMessages": { - "description": "Optional. Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog, or if no messages could be returned before the request timeout. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", - "type": "array", - "items": { - "$ref": "ReceivedMessage" - } - } - } - }, - "ReceivedMessage": { - "id": "ReceivedMessage", - "description": "A message and its corresponding acknowledgment ID.", - "type": "object", - "properties": { - "ackId": { - "description": "Optional. This ID can be used to acknowledge the received message.", - "type": "string" - }, - "message": { - "description": "Optional. The message.", - "$ref": "PubsubMessage" - }, - "deliveryAttempt": { - "description": "Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, `delivery_attempt` will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0.", - "type": "integer", - "format": "int32" - } - } - }, - "ModifyPushConfigRequest": { - "id": "ModifyPushConfigRequest", - "description": "Request for the ModifyPushConfig method.", - "type": "object", - "properties": { - "pushConfig": { - "description": "Required. The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` or `StreamingPull` is not called.", - "$ref": "PushConfig" - } - } - }, - "Snapshot": { - "id": "Snapshot", - "description": "A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", - "type": "object", - "properties": { - "name": { - "description": "Optional. The name of the snapshot.", - "type": "string" - }, - "topic": { - "description": "Optional. The name of the topic from which this snapshot is retaining messages.", - "type": "string" - }, - "expireTime": { - "description": "Optional. The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is `7 days - (age of oldest unacked message in the subscription)`. For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation.", - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "ListSnapshotsResponse": { - "id": "ListSnapshotsResponse", - "description": "Response for the `ListSnapshots` method.", - "type": "object", - "properties": { - "snapshots": { - "description": "Optional. The resulting snapshots.", - "type": "array", - "items": { - "$ref": "Snapshot" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new `ListSnapshotsRequest`.", - "type": "string" - } - } - }, - "CreateSnapshotRequest": { - "id": "CreateSnapshotRequest", - "description": "Request for the `CreateSnapshot` method.", - "type": "object", - "properties": { - "subscription": { - "description": "Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`.", - "type": "string" - }, - "labels": { - "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "UpdateSnapshotRequest": { - "id": "UpdateSnapshotRequest", - "description": "Request for the UpdateSnapshot method.", - "type": "object", - "properties": { - "snapshot": { - "description": "Required. The updated snapshot object.", - "$ref": "Snapshot" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "SeekRequest": { - "id": "SeekRequest", - "description": "Request for the `Seek` method.", - "type": "object", - "properties": { - "time": { - "description": "Optional. The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of `message_retention_duration` and `retain_acked_messages`). For example, if `time` corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.", - "type": "string", - "format": "google-datetime" - }, - "snapshot": { - "description": "Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is `projects/{project}/snapshots/{snap}`.", - "type": "string" - } - } - }, - "SeekResponse": { - "id": "SeekResponse", - "description": "Response for the `Seek` method (this response is empty).", - "type": "object", - "properties": {} - } - }, - "kind": "discovery#restDescription", - "ownerDomain": "google.com", - "servicePath": "", - "basePath": "", - "resources": { - "projects": { - "resources": { - "topics": { - "methods": { - "setIamPolicy": { - "id": "pubsub.projects.topics.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.topics.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.topics.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "create": { - "id": "pubsub.projects.topics.create", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "PUT", - "parameters": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "Topic" - }, - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names)." - }, - "patch": { - "id": "pubsub.projects.topics.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "UpdateTopicRequest" - }, - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable." - }, - "publish": { - "id": "pubsub.projects.topics.publish", - "path": "v1/{+topic}:publish", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", - "httpMethod": "POST", - "parameters": { - "topic": { - "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "request": { - "$ref": "PublishRequest" - }, - "response": { - "$ref": "PublishResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist." - }, - "get": { - "id": "pubsub.projects.topics.get", - "path": "v1/{+topic}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the configuration of a topic." - }, - "list": { - "id": "pubsub.projects.topics.list", - "path": "v1/{+project}/topics", - "flatPath": "v1/projects/{projectsId}/topics", - "httpMethod": "GET", - "parameters": { - "project": { - "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of topics to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "project" - ], - "response": { - "$ref": "ListTopicsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists matching topics." - }, - "delete": { - "id": "pubsub.projects.topics.delete", - "path": "v1/{+topic}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "DELETE", - "parameters": { - "topic": { - "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`." - } - }, - "resources": { - "subscriptions": { - "methods": { - "list": { - "id": "pubsub.projects.topics.subscriptions.list", - "path": "v1/{+topic}/subscriptions", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of subscription names to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "ListTopicSubscriptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the names of the attached subscriptions on this topic." - } - } - }, - "snapshots": { - "methods": { - "list": { - "id": "pubsub.projects.topics.snapshots.list", - "path": "v1/{+topic}/snapshots", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of snapshot names to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "ListTopicSnapshotsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - } - } - } - } - }, + "resources": { + "projects": { + "resources": { "subscriptions": { "methods": { - "setIamPolicy": { - "id": "pubsub.projects.subscriptions.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", - "httpMethod": "POST", + "create": { + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "response": { + "$ref": "Subscription" + }, + "path": "v1/{+name}", "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "name": { "location": "path", "required": true, - "type": "string" + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "type": "string", + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." } }, "parameterOrder": [ - "resource" + "name" ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" + "$ref": "Subscription" }, + "id": "pubsub.projects.subscriptions.create", + "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request." + }, + "testIamPermissions": { + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.subscriptions.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", - "httpMethod": "GET", + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", "parameters": { "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" + "type": "string", + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "required": true } }, + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.subscriptions.testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, "parameterOrder": [ "resource" ], "response": { - "$ref": "Policy" - }, + "$ref": "TestIamPermissionsResponse" + } + }, + "detach": { + "httpMethod": "POST", + "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.subscriptions.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", - "httpMethod": "POST", + "id": "pubsub.projects.subscriptions.detach", "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "subscription": { + "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.", + "type": "string", "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", "required": true, - "type": "string" + "location": "path" } }, + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach", + "response": { + "$ref": "DetachSubscriptionResponse" + }, "parameterOrder": [ - "resource" + "subscription" ], - "request": { - "$ref": "TestIamPermissionsRequest" + "path": "v1/{+subscription}:detach" + }, + "get": { + "parameters": { + "subscription": { + "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "type": "string", + "required": true, + "location": "path" + } + }, + "httpMethod": "GET", + "description": "Gets the configuration details of a subscription.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "response": { + "$ref": "Subscription" }, + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "path": "v1/{+subscription}", + "parameterOrder": [ + "subscription" + ], + "id": "pubsub.projects.subscriptions.get" + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", "response": { - "$ref": "TestIamPermissionsResponse" + "$ref": "Policy" + }, + "path": "v1/{+resource}:getIamPolicy", + "parameterOrder": [ + "resource" + ], + "id": "pubsub.projects.subscriptions.getIamPolicy", + "parameters": { + "resource": { + "type": "string", + "location": "path", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field." + }, + "options.requestedPolicyVersion": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + "httpMethod": "GET" }, - "detach": { - "id": "pubsub.projects.subscriptions.detach", - "path": "v1/{+subscription}:detach", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach", - "httpMethod": "POST", + "delete": { + "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.", + "response": { + "$ref": "Empty" + }, + "httpMethod": "DELETE", + "path": "v1/{+subscription}", "parameters": { "subscription": { - "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", + "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.", "required": true, - "type": "string" + "type": "string", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path" } }, + "id": "pubsub.projects.subscriptions.delete", "parameterOrder": [ "subscription" ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}" + }, + "patch": { "response": { - "$ref": "DetachSubscriptionResponse" + "$ref": "Subscription" }, + "parameterOrder": [ + "name" + ], + "id": "pubsub.projects.subscriptions.patch", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop." - }, - "create": { - "id": "pubsub.projects.subscriptions.create", "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "PUT", + "httpMethod": "PATCH", "parameters": { "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "type": "string", "location": "path", "required": true, - "type": "string" + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." } }, + "description": "Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable.", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "request": { + "$ref": "UpdateSubscriptionRequest" + } + }, + "modifyAckDeadline": { + "id": "pubsub.projects.subscriptions.modifyAckDeadline", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "httpMethod": "POST", "parameterOrder": [ - "name" + "subscription" ], + "path": "v1/{+subscription}:modifyAckDeadline", + "parameters": { + "subscription": { + "required": true, + "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "type": "string", + "location": "path" + } + }, + "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages.", "request": { - "$ref": "Subscription" + "$ref": "ModifyAckDeadlineRequest" + } + }, + "seek": { + "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.", + "response": { + "$ref": "SeekResponse" + }, + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", + "request": { + "$ref": "SeekRequest" + }, + "parameters": { + "subscription": { + "required": true, + "location": "path", + "type": "string", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "description": "Required. The subscription to affect." + } }, + "parameterOrder": [ + "subscription" + ], + "path": "v1/{+subscription}:seek", + "id": "pubsub.projects.subscriptions.seek" + }, + "modifyPushConfig": { "response": { - "$ref": "Subscription" + "$ref": "Empty" + }, + "id": "pubsub.projects.subscriptions.modifyPushConfig", + "parameters": { + "subscription": { + "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", + "location": "path", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$" + } }, + "request": { + "$ref": "ModifyPushConfigRequest" + }, + "path": "v1/{+subscription}:modifyPushConfig", + "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.", + "httpMethod": "POST", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request." + "parameterOrder": [ + "subscription" + ] }, - "get": { - "id": "pubsub.projects.subscriptions.get", - "path": "v1/{+subscription}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "GET", + "pull": { + "id": "pubsub.projects.subscriptions.pull", + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST", + "path": "v1/{+subscription}:pull", "parameters": { "subscription": { - "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", "required": true, - "type": "string" + "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.", + "type": "string", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path" } }, - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Subscription" - }, + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", + "description": "Pulls messages from the server.", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Gets the configuration details of a subscription." + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "PullResponse" + } }, - "patch": { - "id": "pubsub.projects.subscriptions.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "PATCH", + "setIamPolicy": { "parameters": { - "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "resource": { + "required": true, + "type": "string", "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path", - "required": true, - "type": "string" + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field." } }, - "parameterOrder": [ - "name" - ], + "path": "v1/{+resource}:setIamPolicy", + "id": "pubsub.projects.subscriptions.setIamPolicy", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", "request": { - "$ref": "UpdateSubscriptionRequest" - }, - "response": { - "$ref": "Subscription" + "$ref": "SetIamPolicyRequest" }, + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable." + "response": { + "$ref": "Policy" + } }, "list": { "id": "pubsub.projects.subscriptions.list", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "path": "v1/{+project}/subscriptions", - "flatPath": "v1/projects/{projectsId}/subscriptions", - "httpMethod": "GET", "parameters": { "project": { - "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", "required": true, - "type": "string" + "type": "string", + "location": "path", + "pattern": "^projects/[^/]+$", + "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`." + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "Optional. The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data." }, "pageSize": { + "format": "int32", "description": "Optional. Maximum number of subscriptions to return.", - "location": "query", "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" + "location": "query" } }, + "flatPath": "v1/projects/{projectsId}/subscriptions", + "httpMethod": "GET", "parameterOrder": [ "project" ], - "response": { - "$ref": "ListSubscriptionsResponse" + "description": "Lists matching subscriptions." + }, + "acknowledge": { + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "AcknowledgeRequest" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Lists matching subscriptions." - }, - "delete": { - "id": "pubsub.projects.subscriptions.delete", - "path": "v1/{+subscription}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "DELETE", + "httpMethod": "POST", + "id": "pubsub.projects.subscriptions.acknowledge", "parameters": { "subscription": { - "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "type": "string", "location": "path", "required": true, - "type": "string" + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`." } }, - "parameterOrder": [ - "subscription" - ], + "path": "v1/{+subscription}:acknowledge", + "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.", "response": { "$ref": "Empty" + } + } + } + }, + "topics": { + "methods": { + "patch": { + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "type": "string", + "location": "path" + } + }, + "path": "v1/{+name}", + "description": "Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable.", + "response": { + "$ref": "Topic" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified." + "request": { + "$ref": "UpdateTopicRequest" + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.patch", + "parameterOrder": [ + "name" + ] }, - "modifyAckDeadline": { - "id": "pubsub.projects.subscriptions.modifyAckDeadline", - "path": "v1/{+subscription}:modifyAckDeadline", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", - "httpMethod": "POST", + "publish": { "parameters": { - "subscription": { - "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", + "topic": { + "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.", "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", "type": "string" } }, + "httpMethod": "POST", + "response": { + "$ref": "PublishResponse" + }, + "request": { + "$ref": "PublishRequest" + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", + "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "id": "pubsub.projects.topics.publish", "parameterOrder": [ - "subscription" + "topic" ], + "path": "v1/{+topic}:publish" + }, + "testIamPermissions": { "request": { - "$ref": "ModifyAckDeadlineRequest" + "$ref": "TestIamPermissionsRequest" }, + "parameterOrder": [ + "resource" + ], + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.topics.testIamPermissions", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", "response": { - "$ref": "Empty" + "$ref": "TestIamPermissionsResponse" + }, + "parameters": { + "resource": { + "location": "path", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "required": true, + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "type": "string" + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages." - }, - "acknowledge": { - "id": "pubsub.projects.subscriptions.acknowledge", - "path": "v1/{+subscription}:acknowledge", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, + "list": { + "description": "Lists matching topics.", + "id": "pubsub.projects.topics.list", + "parameterOrder": [ + "project" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { - "subscription": { - "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "pageToken": { + "location": "query", + "type": "string", + "description": "Optional. The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data." + }, + "project": { "location": "path", + "pattern": "^projects/[^/]+$", + "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.", "required": true, "type": "string" + }, + "pageSize": { + "location": "query", + "type": "integer", + "description": "Optional. Maximum number of topics to return.", + "format": "int32" } }, - "parameterOrder": [ - "subscription" + "path": "v1/{+project}/topics", + "flatPath": "v1/projects/{projectsId}/topics", + "httpMethod": "GET", + "response": { + "$ref": "ListTopicsResponse" + } + }, + "setIamPolicy": { + "id": "pubsub.projects.topics.setIamPolicy", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" ], "request": { - "$ref": "AcknowledgeRequest" + "$ref": "SetIamPolicyRequest" }, + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "httpMethod": "POST", "response": { - "$ref": "Empty" + "$ref": "Policy" + }, + "parameters": { + "resource": { + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "type": "string", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field." + } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "parameterOrder": [ + "resource" ], - "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error." + "path": "v1/{+resource}:setIamPolicy" }, - "pull": { - "id": "pubsub.projects.subscriptions.pull", - "path": "v1/{+subscription}:pull", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", - "httpMethod": "POST", + "getIamPolicy": { "parameters": { - "subscription": { - "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", + "resource": { "required": true, - "type": "string" + "pattern": "^projects/[^/]+/topics/[^/]+$", + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "type": "string", + "location": "path" + }, + "options.requestedPolicyVersion": { + "type": "integer", + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query" } }, - "parameterOrder": [ - "subscription" + "path": "v1/{+resource}:getIamPolicy", + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" ], - "request": { - "$ref": "PullRequest" + "response": { + "$ref": "Policy" }, + "id": "pubsub.projects.topics.getIamPolicy", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy", + "parameterOrder": [ + "resource" + ] + }, + "create": { + "httpMethod": "PUT", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", "response": { - "$ref": "PullResponse" + "$ref": "Topic" + }, + "request": { + "$ref": "Topic" }, + "description": "Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).", + "parameterOrder": [ + "name" + ], + "id": "pubsub.projects.topics.create", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Pulls messages from the server." + "path": "v1/{+name}", + "parameters": { + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "type": "string", + "location": "path", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$" + } + } }, - "modifyPushConfig": { - "id": "pubsub.projects.subscriptions.modifyPushConfig", - "path": "v1/{+subscription}:modifyPushConfig", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", - "httpMethod": "POST", + "delete": { + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.", "parameters": { - "subscription": { - "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "topic": { + "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.", "location": "path", "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", "type": "string" } }, + "id": "pubsub.projects.topics.delete", + "path": "v1/{+topic}", "parameterOrder": [ - "subscription" + "topic" ], - "request": { - "$ref": "ModifyPushConfigRequest" - }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", "response": { "$ref": "Empty" }, + "httpMethod": "DELETE", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" - ], - "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`." + ] }, - "seek": { - "id": "pubsub.projects.subscriptions.seek", - "path": "v1/{+subscription}:seek", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The subscription to affect.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, + "get": { "parameterOrder": [ - "subscription" + "topic" ], - "request": { - "$ref": "SeekRequest" - }, + "httpMethod": "GET", "response": { - "$ref": "SeekResponse" + "$ref": "Topic" + }, + "path": "v1/{+topic}", + "id": "pubsub.projects.topics.get", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "description": "Gets the configuration of a topic.", + "parameters": { + "topic": { + "location": "path", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" - ], - "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic." + ] + } + }, + "resources": { + "snapshots": { + "methods": { + "list": { + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "ListTopicSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "path": "v1/{+topic}/snapshots", + "httpMethod": "GET", + "parameters": { + "topic": { + "type": "string", + "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true + }, + "pageToken": { + "type": "string", + "description": "Optional. The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.", + "location": "query" + }, + "pageSize": { + "description": "Optional. Maximum number of snapshot names to return.", + "format": "int32", + "type": "integer", + "location": "query" + } + }, + "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "id": "pubsub.projects.topics.snapshots.list", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots" + } + } + }, + "subscriptions": { + "methods": { + "list": { + "parameters": { + "pageSize": { + "format": "int32", + "description": "Optional. Maximum number of subscription names to return.", + "location": "query", + "type": "integer" + }, + "topic": { + "type": "string", + "required": true, + "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.", + "location": "path", + "pattern": "^projects/[^/]+/topics/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "Optional. The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", + "type": "string" + } + }, + "path": "v1/{+topic}/subscriptions", + "id": "pubsub.projects.topics.subscriptions.list", + "description": "Lists the names of the attached subscriptions on this topic.", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "parameterOrder": [ + "topic" + ] + } + } } } }, "snapshots": { "methods": { - "setIamPolicy": { - "id": "pubsub.projects.snapshots.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", - "httpMethod": "POST", + "patch": { + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "type": "string", "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", + "description": "Optional. The name of the snapshot.", "required": true, - "type": "string" + "location": "path" } }, - "parameterOrder": [ - "resource" - ], + "httpMethod": "PATCH", "request": { - "$ref": "SetIamPolicyRequest" + "$ref": "UpdateSnapshotRequest" }, + "id": "pubsub.projects.snapshots.patch", "response": { - "$ref": "Policy" + "$ref": "Snapshot" }, + "description": "Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "parameterOrder": [ + "name" + ] + }, + "setIamPolicy": { + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.snapshots.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], "response": { "$ref": "Policy" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.snapshots.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", - "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], "parameters": { "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", "location": "path", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "type": "string", "required": true, - "type": "string" + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field." } }, - "parameterOrder": [ - "resource" - ], + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "id": "pubsub.projects.snapshots.setIamPolicy", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", "request": { - "$ref": "TestIamPermissionsRequest" + "$ref": "SetIamPolicyRequest" }, + "path": "v1/{+resource}:setIamPolicy" + }, + "testIamPermissions": { + "httpMethod": "POST", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", "response": { "$ref": "TestIamPermissionsResponse" }, @@ -2210,606 +841,2432 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "get": { - "id": "pubsub.projects.snapshots.get", - "path": "v1/{+snapshot}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "GET", + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "parameterOrder": [ + "resource" + ], + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", "parameters": { - "snapshot": { - "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "type": "string", "required": true, - "type": "string" + "location": "path", + "pattern": "^projects/[^/]+/snapshots/[^/]+$" } }, - "parameterOrder": [ - "snapshot" - ], + "id": "pubsub.projects.snapshots.testIamPermissions" + }, + "list": { + "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "httpMethod": "GET", + "flatPath": "v1/projects/{projectsId}/snapshots", + "path": "v1/{+project}/snapshots", "response": { - "$ref": "Snapshot" + "$ref": "ListSnapshotsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "list": { - "id": "pubsub.projects.snapshots.list", - "path": "v1/{+project}/snapshots", - "flatPath": "v1/projects/{projectsId}/snapshots", - "httpMethod": "GET", "parameters": { "project": { - "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.", "pattern": "^projects/[^/]+$", - "location": "path", + "type": "string", "required": true, - "type": "string" + "location": "path", + "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`." }, - "pageSize": { - "description": "Optional. Maximum number of snapshots to return.", + "pageToken": { "location": "query", - "type": "integer", - "format": "int32" + "type": "string", + "description": "Optional. The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data." }, - "pageToken": { - "description": "Optional. The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data.", + "pageSize": { "location": "query", - "type": "string" + "format": "int32", + "description": "Optional. Maximum number of snapshots to return.", + "type": "integer" } }, "parameterOrder": [ "project" ], + "id": "pubsub.projects.snapshots.list" + }, + "getIamPolicy": { + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], "response": { - "$ref": "ListSnapshotsResponse" + "$ref": "Policy" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "create": { - "id": "pubsub.projects.snapshots.create", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "PUT", + "path": "v1/{+resource}:getIamPolicy", + "id": "pubsub.projects.snapshots.getIamPolicy", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", "parameters": { - "name": { - "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the [resource name rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). Format is `projects/{project}/snapshots/{snap}`.", + "options.requestedPolicyVersion": { + "location": "query", + "format": "int32", + "type": "integer", + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "resource": { "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", "required": true, + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", "type": "string" } }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "CreateSnapshotRequest" - }, - "response": { - "$ref": "Snapshot" - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request." + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." }, - "patch": { - "id": "pubsub.projects.snapshots.patch", - "path": "v1/{+name}", + "get": { + "path": "v1/{+snapshot}", + "id": "pubsub.projects.snapshots.get", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "httpMethod": "GET", + "response": { + "$ref": "Snapshot" + }, "parameters": { - "name": { - "description": "Optional. The name of the snapshot.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "snapshot": { "location": "path", + "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.", + "type": "string", "required": true, - "type": "string" + "pattern": "^projects/[^/]+/snapshots/[^/]+$" } }, "parameterOrder": [ - "name" + "snapshot" ], - "request": { - "$ref": "UpdateSnapshotRequest" - }, - "response": { - "$ref": "Snapshot" - }, + "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." + }, + "delete": { + "id": "pubsub.projects.snapshots.delete", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "delete": { - "id": "pubsub.projects.snapshots.delete", - "path": "v1/{+snapshot}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "response": { + "$ref": "Empty" + }, "httpMethod": "DELETE", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "parameterOrder": [ + "snapshot" + ], + "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.", + "path": "v1/{+snapshot}", "parameters": { "snapshot": { + "location": "path", "description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/snapshots/[^/]+$" + } + } + }, + "create": { + "id": "pubsub.projects.snapshots.create", + "response": { + "$ref": "Snapshot" + }, + "path": "v1/{+name}", + "parameters": { + "name": { + "type": "string", "pattern": "^projects/[^/]+/snapshots/[^/]+$", "location": "path", "required": true, - "type": "string" + "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the [resource name rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). Format is `projects/{project}/snapshots/{snap}`." } }, - "parameterOrder": [ - "snapshot" - ], - "response": { - "$ref": "Empty" - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified." + "request": { + "$ref": "CreateSnapshotRequest" + }, + "httpMethod": "PUT", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "parameterOrder": [ + "name" + ], + "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request." } } }, "schemas": { "methods": { - "setIamPolicy": { - "id": "pubsub.projects.schemas.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.schemas.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:getIamPolicy", - "httpMethod": "GET", + "listRevisions": { "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" + "view": { + "enum": [ + "SCHEMA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string", + "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include the name and type of the schema, but not the definition.", + "Include all Schema object fields." + ] }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "pageToken": { + "type": "string", + "description": "The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page.", + "location": "query" + }, + "pageSize": { + "format": "int32", "location": "query", "type": "integer", - "format": "int32" + "description": "The maximum number of revisions to return per page." + }, + "name": { + "location": "path", + "type": "string", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "required": true, + "description": "Required. The name of the schema to list revisions for." } }, + "description": "Lists all schema revisions for the named schema.", + "path": "v1/{+name}:listRevisions", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "id": "pubsub.projects.schemas.listRevisions", + "httpMethod": "GET", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:listRevisions", "parameterOrder": [ - "resource" + "name" ], "response": { - "$ref": "Policy" + "$ref": "ListSchemaRevisionsResponse" + } + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path" + } }, + "httpMethod": "DELETE", + "description": "Deletes a schema.", + "id": "pubsub.projects.schemas.delete", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." + "path": "v1/{+name}" }, "testIamPermissions": { "id": "pubsub.projects.schemas.testIamPermissions", "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "httpMethod": "POST", + "request": { + "$ref": "TestIamPermissionsRequest" + }, "parameters": { "resource": { + "type": "string", "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", "required": true, - "type": "string" + "location": "path" } }, "parameterOrder": [ "resource" ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:testIamPermissions", "response": { "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + } }, - "create": { - "id": "pubsub.projects.schemas.create", - "path": "v1/{+parent}/schemas", - "flatPath": "v1/projects/{projectsId}/schemas", - "httpMethod": "POST", + "commit": { + "id": "pubsub.projects.schemas.commit", "parameters": { - "parent": { - "description": "Required. The name of the project in which to create the schema. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", + "name": { "required": true, - "type": "string" - }, - "schemaId": { - "description": "The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints.", - "location": "query", - "type": "string" + "location": "path", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "type": "string", + "description": "Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`." } }, - "parameterOrder": [ - "parent" + "description": "Commits a new schema revision to an existing schema.", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:commit", + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" ], "request": { - "$ref": "Schema" + "$ref": "CommitSchemaRequest" }, "response": { "$ref": "Schema" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates a schema." + "path": "v1/{+name}:commit", + "parameterOrder": [ + "name" + ] }, "get": { - "id": "pubsub.projects.schemas.get", - "path": "v1/{+name}", "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", - "httpMethod": "GET", "parameters": { - "name": { - "description": "Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, "view": { "description": "The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to `BASIC` to omit the `definition`.", - "location": "query", "type": "string", "enumDescriptions": [ "The default / unset value. The API will default to the BASIC view.", "Include the name and type of the schema, but not the definition.", "Include all Schema object fields." ], + "location": "query", "enum": [ "SCHEMA_VIEW_UNSPECIFIED", "BASIC", "FULL" ] + }, + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "description": "Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`.", + "location": "path" } }, + "path": "v1/{+name}", "parameterOrder": [ "name" ], - "response": { - "$ref": "Schema" - }, + "description": "Gets a schema.", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Gets a schema." - }, - "list": { - "id": "pubsub.projects.schemas.list", - "path": "v1/{+parent}/schemas", - "flatPath": "v1/projects/{projectsId}/schemas", "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The name of the project in which to list schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include the name and type of the schema, but not the definition.", - "Include all Schema object fields." - ], - "enum": [ - "SCHEMA_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ] - }, - "pageSize": { - "description": "Maximum number of schemas to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The value returned by the last `ListSchemasResponse`; indicates that this is a continuation of a prior `ListSchemas` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], + "id": "pubsub.projects.schemas.get", "response": { - "$ref": "ListSchemasResponse" + "$ref": "Schema" + } + }, + "rollback": { + "response": { + "$ref": "Schema" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Lists schemas in a project." - }, - "listRevisions": { - "id": "pubsub.projects.schemas.listRevisions", - "path": "v1/{+name}:listRevisions", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:listRevisions", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the schema to list revisions for.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include the name and type of the schema, but not the definition.", - "Include all Schema object fields." - ], - "enum": [ - "SCHEMA_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ] - }, - "pageSize": { - "description": "The maximum number of revisions to return per page.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page.", - "location": "query", - "type": "string" - } + "httpMethod": "POST", + "request": { + "$ref": "RollbackSchemaRequest" }, "parameterOrder": [ "name" ], - "response": { - "$ref": "ListSchemaRevisionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists all schema revisions for the named schema." - }, - "commit": { - "id": "pubsub.projects.schemas.commit", - "path": "v1/{+name}:commit", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:commit", - "httpMethod": "POST", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:rollback", + "id": "pubsub.projects.schemas.rollback", + "path": "v1/{+name}:rollback", "parameters": { "name": { - "description": "Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`.", + "required": true, + "description": "Required. The schema being rolled back with revision id.", "pattern": "^projects/[^/]+/schemas/[^/]+$", "location": "path", - "required": true, "type": "string" } }, - "parameterOrder": [ - "name" - ], + "description": "Creates a new schema revision that is a copy of the provided revision_id." + }, + "validateMessage": { + "httpMethod": "POST", + "flatPath": "v1/projects/{projectsId}/schemas:validateMessage", "request": { - "$ref": "CommitSchemaRequest" + "$ref": "ValidateMessageRequest" }, + "parameterOrder": [ + "parent" + ], + "id": "pubsub.projects.schemas.validateMessage", "response": { - "$ref": "Schema" + "$ref": "ValidateMessageResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Commits a new schema revision to an existing schema." - }, - "rollback": { - "id": "pubsub.projects.schemas.rollback", - "path": "v1/{+name}:rollback", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:rollback", - "httpMethod": "POST", "parameters": { - "name": { - "description": "Required. The schema being rolled back with revision id.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", + "parent": { + "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", "required": true, - "type": "string" + "type": "string", + "location": "path", + "pattern": "^projects/[^/]+$" } }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "RollbackSchemaRequest" - }, - "response": { - "$ref": "Schema" - }, + "description": "Validates a message against a schema.", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Creates a new schema revision that is a copy of the provided revision_id." + "path": "v1/{+parent}/schemas:validateMessage" }, "deleteRevision": { - "id": "pubsub.projects.schemas.deleteRevision", - "path": "v1/{+name}:deleteRevision", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:deleteRevision", - "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { "name": { "description": "Required. The name of the schema revision to be deleted, with a revision ID explicitly included. Example: `projects/123/schemas/my-schema@c7cfa2a8`", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", "required": true, - "type": "string" + "location": "path", + "type": "string", + "pattern": "^projects/[^/]+/schemas/[^/]+$" }, "revisionId": { - "description": "Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the `name` parameter.", "location": "query", + "type": "string", "deprecated": true, - "type": "string" + "description": "Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the `name` parameter." } }, "parameterOrder": [ "name" ], + "httpMethod": "DELETE", + "description": "Deletes a specific schema revision.", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:deleteRevision", + "path": "v1/{+name}:deleteRevision", + "id": "pubsub.projects.schemas.deleteRevision", "response": { "$ref": "Schema" + } + }, + "getIamPolicy": { + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" }, + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:getIamPolicy", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Deletes a specific schema revision." - }, - "delete": { - "id": "pubsub.projects.schemas.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", - "httpMethod": "DELETE", + "id": "pubsub.projects.schemas.getIamPolicy", "parameters": { - "name": { - "description": "Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`.", + "resource": { + "type": "string", "pattern": "^projects/[^/]+/schemas/[^/]+$", "location": "path", "required": true, - "type": "string" + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field." + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "type": "integer", + "location": "query", + "format": "int32" } }, - "parameterOrder": [ - "name" - ], + "path": "v1/{+resource}:getIamPolicy" + }, + "setIamPolicy": { + "request": { + "$ref": "SetIamPolicyRequest" + }, + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "httpMethod": "POST", "response": { - "$ref": "Empty" + "$ref": "Policy" + }, + "id": "pubsub.projects.schemas.setIamPolicy", + "parameters": { + "resource": { + "type": "string", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "required": true + } }, + "path": "v1/{+resource}:setIamPolicy", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Deletes a schema." + "parameterOrder": [ + "resource" + ] }, - "validate": { - "id": "pubsub.projects.schemas.validate", - "path": "v1/{+parent}/schemas:validate", - "flatPath": "v1/projects/{projectsId}/schemas:validate", - "httpMethod": "POST", + "list": { + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "response": { + "$ref": "ListSchemasResponse" + }, + "id": "pubsub.projects.schemas.list", "parameters": { + "pageToken": { + "description": "The value returned by the last `ListSchemasResponse`; indicates that this is a continuation of a prior `ListSchemas` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, "parent": { - "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", + "type": "string", "location": "path", + "pattern": "^projects/[^/]+$", "required": true, - "type": "string" + "description": "Required. The name of the project in which to list schemas. Format is `projects/{project-id}`." + }, + "pageSize": { + "description": "Maximum number of schemas to return.", + "format": "int32", + "type": "integer", + "location": "query" + }, + "view": { + "type": "string", + "enum": [ + "SCHEMA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include the name and type of the schema, but not the definition.", + "Include all Schema object fields." + ] } }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "ValidateSchemaRequest" - }, - "response": { - "$ref": "ValidateSchemaResponse" - }, + "flatPath": "v1/projects/{projectsId}/schemas", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Validates a schema." + "description": "Lists schemas in a project.", + "path": "v1/{+parent}/schemas" }, - "validateMessage": { - "id": "pubsub.projects.schemas.validateMessage", - "path": "v1/{+parent}/schemas:validateMessage", - "flatPath": "v1/projects/{projectsId}/schemas:validateMessage", - "httpMethod": "POST", + "create": { + "id": "pubsub.projects.schemas.create", + "path": "v1/{+parent}/schemas", "parameters": { "parent": { - "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", + "type": "string", "required": true, - "type": "string" + "pattern": "^projects/[^/]+$", + "description": "Required. The name of the project in which to create the schema. Format is `projects/{project-id}`.", + "location": "path" + }, + "schemaId": { + "type": "string", + "description": "The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints.", + "location": "query" } }, "parameterOrder": [ "parent" ], + "flatPath": "v1/projects/{projectsId}/schemas", + "description": "Creates a schema.", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "request": { - "$ref": "ValidateMessageRequest" + "$ref": "Schema" }, "response": { - "$ref": "ValidateMessageResponse" + "$ref": "Schema" + }, + "httpMethod": "POST" + }, + "validate": { + "request": { + "$ref": "ValidateSchemaRequest" }, + "description": "Validates a schema.", + "parameterOrder": [ + "parent" + ], + "id": "pubsub.projects.schemas.validate", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "description": "Validates a message against a schema." + "httpMethod": "POST", + "flatPath": "v1/projects/{projectsId}/schemas:validate", + "path": "v1/{+parent}/schemas:validate", + "response": { + "$ref": "ValidateSchemaResponse" + }, + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", + "required": true, + "pattern": "^projects/[^/]+$", + "type": "string" + } + } } } } } } }, - "title": "Cloud Pub/Sub API" + "baseUrl": "https://pubsub.googleapis.com/", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "key": { + "location": "query", + "type": "string", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "location": "query", + "default": "true", + "type": "boolean" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "quotaUser": { + "location": "query", + "type": "string", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string", + "description": "V1 error format.", + "enum": [ + "1", + "2" + ] + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "enum": [ + "json", + "media", + "proto" + ], + "default": "json", + "description": "Data format for response.", + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/pubsub": { + "description": "View and manage Pub/Sub topics and subscriptions" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "version": "v1", + "protocol": "rest", + "schemas": { + "UpdateSubscriptionRequest": { + "description": "Request for the UpdateSubscription method.", + "id": "UpdateSubscriptionRequest", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.", + "type": "string" + }, + "subscription": { + "$ref": "Subscription", + "description": "Required. The updated subscription object." + } + } + }, + "RollbackSchemaRequest": { + "id": "RollbackSchemaRequest", + "description": "Request for the `RollbackSchema` method.", + "type": "object", + "properties": { + "revisionId": { + "type": "string", + "description": "Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8" + } + } + }, + "PushConfig": { + "properties": { + "pushEndpoint": { + "description": "Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `https://example.com/push`.", + "type": "string" + }, + "pubsubWrapper": { + "description": "Optional. When set, the payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", + "$ref": "PubsubWrapper" + }, + "oidcToken": { + "$ref": "OidcToken", + "description": "Optional. If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message." + }, + "attributes": { + "type": "object", + "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`", + "additionalProperties": { + "type": "string" + } + }, + "noWrapper": { + "$ref": "NoWrapper", + "description": "Optional. When set, the payload to the push endpoint is not wrapped." + } + }, + "id": "PushConfig", + "description": "Configuration for a push delivery endpoint.", + "type": "object" + }, + "ValidateMessageResponse": { + "type": "object", + "id": "ValidateMessageResponse", + "properties": {}, + "description": "Response for the `ValidateMessage` method. Empty for now." + }, + "DeadLetterPolicy": { + "description": "Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.", + "type": "object", + "id": "DeadLetterPolicy", + "properties": { + "deadLetterTopic": { + "description": "Optional. The name of the topic to which dead letter messages should be published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.", + "type": "string" + }, + "maxDeliveryAttempts": { + "format": "int32", + "type": "integer", + "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used." + } + } + }, + "JavaScriptUDF": { + "type": "object", + "description": "User-defined JavaScript function that can transform or filter a Pub/Sub message.", + "id": "JavaScriptUDF", + "properties": { + "code": { + "description": "Required. JavaScript code that contains a function `function_name` with the below signature: ``` /** * Transforms a Pub/Sub message. * @return {(Object)\u003e|null)} - To * filter a message, return `null`. To transform a message return a map * with the following keys: * - (required) 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty `attributes` will remove all attributes from the * message. * * @param {(Object)\u003e} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub message metadata. * Keys: * - (optional) 'message_id' : {string} * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - (optional) 'ordering_key': {string} */ function (message, metadata) { } ```", + "type": "string" + }, + "functionName": { + "description": "Required. Name of the JavasScript function that should applied to Pub/Sub messages.", + "type": "string" + } + } + }, + "Topic": { + "id": "Topic", + "type": "object", + "description": "A topic resource.", + "properties": { + "satisfiesPzs": { + "description": "Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.", + "type": "boolean" + }, + "ingestionDataSourceSettings": { + "description": "Optional. Settings for ingestion from a data source into this topic.", + "$ref": "IngestionDataSourceSettings" + }, + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INGESTION_RESOURCE_ERROR" + ], + "description": "Output only. An output-only field indicating the state of the topic.", + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The topic does not have any persistent errors.", + "Ingestion from the data source has encountered a permanent error. See the more detailed error state in the corresponding ingestion source configuration." + ], + "readOnly": true + }, + "schemaSettings": { + "description": "Optional. Settings for validating messages published against a schema.", + "$ref": "SchemaSettings" + }, + "kmsKeyName": { + "description": "Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", + "type": "object" + }, + "messageRetentionDuration": { + "type": "string", + "format": "google-duration", + "description": "Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes." + }, + "messageStoragePolicy": { + "description": "Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.", + "$ref": "MessageStoragePolicy" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"" + }, + "messageTransforms": { + "type": "array", + "description": "Optional. Transforms to be applied to messages published to the topic. Transforms are applied in the order specified.", + "items": { + "$ref": "MessageTransform" + } + } + } + }, + "SchemaSettings": { + "type": "object", + "id": "SchemaSettings", + "description": "Settings for validating messages published against a schema.", + "properties": { + "schema": { + "type": "string", + "description": "Required. The name of the schema that messages published should be validated against. Format is `projects/{project}/schemas/{schema}`. The value of this field will be `_deleted-schema_` if the schema has been deleted." + }, + "encoding": { + "description": "Optional. The encoding of messages validated against `schema`.", + "enum": [ + "ENCODING_UNSPECIFIED", + "JSON", + "BINARY" + ], + "enumDescriptions": [ + "Unspecified", + "JSON encoding", + "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." + ], + "type": "string" + }, + "firstRevisionId": { + "type": "string", + "description": "Optional. The minimum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against last_revision or any revision created before." + }, + "lastRevisionId": { + "description": "Optional. The maximum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against first_revision or any revision created after.", + "type": "string" + } + } + }, + "Schema": { + "type": "object", + "description": "A schema resource.", + "id": "Schema", + "properties": { + "definition": { + "type": "string", + "description": "The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`." + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "A Protocol Buffer schema definition.", + "An Avro schema definition." + ], + "description": "The type of the schema definition.", + "enum": [ + "TYPE_UNSPECIFIED", + "PROTOCOL_BUFFER", + "AVRO" + ] + }, + "revisionCreateTime": { + "description": "Output only. The timestamp that the revision was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "name": { + "type": "string", + "description": "Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`." + }, + "revisionId": { + "description": "Output only. Immutable. The revision ID of the schema.", + "readOnly": true, + "type": "string" + } + } + }, + "ListSchemasResponse": { + "description": "Response for the `ListSchemas` method.", + "type": "object", + "id": "ListSchemasResponse", + "properties": { + "schemas": { + "description": "The resulting schemas.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more schemas that match the request; this value should be passed in a new `ListSchemasRequest`.", + "type": "string" + } + } + }, + "ListSubscriptionsResponse": { + "description": "Response for the `ListSubscriptions` method.", + "type": "object", + "properties": { + "subscriptions": { + "items": { + "$ref": "Subscription" + }, + "type": "array", + "description": "Optional. The subscriptions that match the request." + }, + "nextPageToken": { + "type": "string", + "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions." + } + }, + "id": "ListSubscriptionsResponse" + }, + "AzureEventHubs": { + "properties": { + "namespace": { + "type": "string", + "description": "Optional. The name of the Event Hubs namespace." + }, + "clientId": { + "type": "string", + "description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub." + }, + "subscriptionId": { + "description": "Optional. The Azure subscription id.", + "type": "string" + }, + "resourceGroup": { + "type": "string", + "description": "Optional. Name of the resource group within the azure subscription." + }, + "gcpServiceAccount": { + "type": "string", + "description": "Optional. The GCP service account to be used for Federated Identity authentication." + }, + "tenantId": { + "type": "string", + "description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub." + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "EVENT_HUBS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "NAMESPACE_NOT_FOUND", + "EVENT_HUB_NOT_FOUND", + "SUBSCRIPTION_NOT_FOUND", + "RESOURCE_GROUP_NOT_FOUND" + ], + "description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Event Hubs. This can happen when `client_id`, or `tenant_id` are invalid. Or the right permissions haven't been granted.", + "Permission denied encountered while publishing to the topic.", + "The provided Event Hubs namespace couldn't be found.", + "The provided Event Hub couldn't be found.", + "The provided Event Hubs subscription couldn't be found.", + "The provided Event Hubs resource group couldn't be found." + ] + }, + "eventHub": { + "description": "Optional. The name of the Event Hub.", + "type": "string" + } + }, + "id": "AzureEventHubs", + "description": "Ingestion settings for Azure Event Hubs.", + "type": "object" + }, + "PubsubMessage": { + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription." + }, + "messageId": { + "type": "string", + "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call." + }, + "orderingKey": { + "type": "string", + "description": "Optional. If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering)." + }, + "data": { + "type": "string", + "description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", + "format": "byte" + }, + "publishTime": { + "format": "google-datetime", + "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.", + "type": "string" + } + }, + "description": "A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.", + "id": "PubsubMessage", + "type": "object" + }, + "ValidateSchemaRequest": { + "id": "ValidateSchemaRequest", + "description": "Request for the `ValidateSchema` method.", + "properties": { + "schema": { + "$ref": "Schema", + "description": "Required. The schema object to validate." + } + }, + "type": "object" + }, + "OidcToken": { + "properties": { + "audience": { + "description": "Optional. Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.", + "type": "string" + }, + "serviceAccountEmail": { + "type": "string", + "description": "Optional. [Service account email](https://cloud.google.com/iam/docs/service-accounts) used for generating the OIDC token. For more information on setting up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/docs/push)." + } + }, + "id": "OidcToken", + "type": "object", + "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect)." + }, + "IngestionDataSourceSettings": { + "properties": { + "awsMsk": { + "description": "Optional. Amazon MSK.", + "$ref": "AwsMsk" + }, + "awsKinesis": { + "$ref": "AwsKinesis", + "description": "Optional. Amazon Kinesis Data Streams." + }, + "azureEventHubs": { + "description": "Optional. Azure Event Hubs.", + "$ref": "AzureEventHubs" + }, + "confluentCloud": { + "description": "Optional. Confluent Cloud.", + "$ref": "ConfluentCloud" + }, + "cloudStorage": { + "description": "Optional. Cloud Storage.", + "$ref": "CloudStorage" + }, + "platformLogsSettings": { + "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated.", + "$ref": "PlatformLogsSettings" + } + }, + "type": "object", + "id": "IngestionDataSourceSettings", + "description": "Settings for an ingestion data source on a topic." + }, + "Binding": { + "properties": { + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + }, + "members": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`." + }, + "condition": { + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "$ref": "Expr" + } + }, + "description": "Associates `members`, or principals, with a `role`.", + "type": "object", + "id": "Binding" + }, + "PullResponse": { + "properties": { + "receivedMessages": { + "description": "Optional. Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog, or if no messages could be returned before the request timeout. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", + "type": "array", + "items": { + "$ref": "ReceivedMessage" + } + } + }, + "description": "Response for the `Pull` method.", + "type": "object", + "id": "PullResponse" + }, + "ListTopicsResponse": { + "description": "Response for the `ListTopics` method.", + "id": "ListTopicsResponse", + "properties": { + "topics": { + "type": "array", + "description": "Optional. The resulting topics.", + "items": { + "$ref": "Topic" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.", + "type": "string" + } + }, + "type": "object" + }, + "SeekResponse": { + "description": "Response for the `Seek` method (this response is empty).", + "type": "object", + "properties": {}, + "id": "SeekResponse" + }, + "RetryPolicy": { + "type": "object", + "properties": { + "minimumBackoff": { + "type": "string", + "format": "google-duration", + "description": "Optional. The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds." + }, + "maximumBackoff": { + "format": "google-duration", + "type": "string", + "description": "Optional. The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds." + } + }, + "id": "RetryPolicy", + "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff." + }, + "UpdateSnapshotRequest": { + "properties": { + "updateMask": { + "description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.", + "type": "string", + "format": "google-fieldmask" + }, + "snapshot": { + "$ref": "Snapshot", + "description": "Required. The updated snapshot object." + } + }, + "type": "object", + "description": "Request for the UpdateSnapshot method.", + "id": "UpdateSnapshotRequest" + }, + "Snapshot": { + "id": "Snapshot", + "type": "object", + "description": "A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "properties": { + "labels": { + "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "topic": { + "type": "string", + "description": "Optional. The name of the topic from which this snapshot is retaining messages." + }, + "expireTime": { + "type": "string", + "format": "google-datetime", + "description": "Optional. The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is `7 days - (age of oldest unacked message in the subscription)`. For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation." + }, + "name": { + "type": "string", + "description": "Optional. The name of the snapshot." + } + } + }, + "MessageStoragePolicy": { + "description": "A policy constraining the storage of messages published to the topic.", + "properties": { + "allowedPersistenceRegions": { + "items": { + "type": "string" + }, + "description": "Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.", + "type": "array" + }, + "enforceInTransit": { + "description": "Optional. If true, `allowed_persistence_regions` is also used to enforce in-transit guarantees for messages. That is, Pub/Sub will fail Publish operations on this topic and subscribe operations on any subscription attached to this topic in any region that is not in `allowed_persistence_regions`.", + "type": "boolean" + } + }, + "type": "object", + "id": "MessageStoragePolicy" + }, + "ExpirationPolicy": { + "description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).", + "properties": { + "ttl": { + "format": "google-duration", + "description": "Optional. Specifies the \"time-to-live\" duration for an associated resource. The resource expires if it is not active for a period of `ttl`. The definition of \"activity\" depends on the type of the associated resource. The minimum and maximum allowed values for `ttl` depend on the type of the associated resource, as well. If `ttl` is not set, the associated resource never expires.", + "type": "string" + } + }, + "type": "object", + "id": "ExpirationPolicy" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "type": "object", + "id": "Expr", + "properties": { + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + } + }, + "PubsubWrapper": { + "description": "The payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", + "properties": {}, + "id": "PubsubWrapper", + "type": "object" + }, + "AvroFormat": { + "type": "object", + "description": "Configuration for reading Cloud Storage data in Avro binary format. The bytes of each object will be set to the `data` field of a Pub/Sub message.", + "id": "AvroFormat", + "properties": {} + }, + "AvroConfig": { + "description": "Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary.", + "id": "AvroConfig", + "type": "object", + "properties": { + "writeMetadata": { + "type": "boolean", + "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key as additional fields in the output. The subscription name, message_id, and publish_time fields are put in their own fields while all other message properties other than data (for example, an ordering_key, if present) are added as entries in the attributes map." + }, + "useTopicSchema": { + "type": "boolean", + "description": "Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists." + } + } + }, + "PublishRequest": { + "id": "PublishRequest", + "type": "object", + "properties": { + "messages": { + "description": "Required. The messages to publish.", + "items": { + "$ref": "PubsubMessage" + }, + "type": "array" + } + }, + "description": "Request for the Publish method." + }, + "ListTopicSubscriptionsResponse": { + "type": "object", + "id": "ListTopicSubscriptionsResponse", + "properties": { + "nextPageToken": { + "type": "string", + "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions." + }, + "subscriptions": { + "type": "array", + "description": "Optional. The names of subscriptions attached to the topic specified in the request.", + "items": { + "type": "string" + } + } + }, + "description": "Response for the `ListTopicSubscriptions` method." + }, + "ModifyPushConfigRequest": { + "id": "ModifyPushConfigRequest", + "properties": { + "pushConfig": { + "$ref": "PushConfig", + "description": "Required. The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` or `StreamingPull` is not called." + } + }, + "description": "Request for the ModifyPushConfig method.", + "type": "object" + }, + "AwsKinesis": { + "type": "object", + "description": "Ingestion settings for Amazon Kinesis Data Streams.", + "properties": { + "awsRoleArn": { + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Kinesis. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Kinesis. This can happen if: - The provided `aws_role_arn` does not exist or does not have the appropriate permissions attached. - The provided `aws_role_arn` is not set up properly for Identity Federation using `gcp_service_account`. - The Pub/Sub SA is not granted the `iam.serviceAccounts.getOpenIdToken` permission on `gcp_service_account`.", + "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", + "The Kinesis stream does not exist.", + "The Kinesis consumer does not exist." + ], + "type": "string", + "description": "Output only. An output-only field that indicates the state of the Kinesis ingestion source.", + "readOnly": true, + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "KINESIS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "STREAM_NOT_FOUND", + "CONSUMER_NOT_FOUND" + ] + }, + "streamArn": { + "description": "Required. The Kinesis stream ARN to ingest data from.", + "type": "string" + }, + "consumerArn": { + "description": "Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out mode. The consumer must be already created and ready to be used.", + "type": "string" + } + }, + "id": "AwsKinesis" + }, + "DetachSubscriptionResponse": { + "type": "object", + "description": "Response for the DetachSubscription method. Reserved for future use.", + "id": "DetachSubscriptionResponse", + "properties": {} + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions)." + } + }, + "type": "object", + "description": "Request message for `TestIamPermissions` method." + }, + "AnalyticsHubSubscriptionInfo": { + "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", + "id": "AnalyticsHubSubscriptionInfo", + "properties": { + "listing": { + "type": "string", + "description": "Optional. The name of the associated Analytics Hub listing resource. Pattern: \"projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}\"" + }, + "subscription": { + "description": "Optional. The name of the associated Analytics Hub subscription resource. Pattern: \"projects/{project}/locations/{location}/subscriptions/{subscription}\"", + "type": "string" + } + }, + "type": "object" + }, + "PublishResponse": { + "properties": { + "messageIds": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Optional. The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic." + } + }, + "id": "PublishResponse", + "type": "object", + "description": "Response for the `Publish` method." + }, + "NoWrapper": { + "id": "NoWrapper", + "description": "Sets the `data` field as the HTTP body for delivery.", + "properties": { + "writeMetadata": { + "type": "boolean", + "description": "Optional. When true, writes the Pub/Sub message metadata to `x-goog-pubsub-:` headers of the HTTP request. Writes the Pub/Sub message attributes to `:` headers of the HTTP request." + } + }, + "type": "object" + }, + "UpdateTopicRequest": { + "type": "object", + "description": "Request for the UpdateTopic method.", + "id": "UpdateTopicRequest", + "properties": { + "topic": { + "description": "Required. The updated topic object.", + "$ref": "Topic" + }, + "updateMask": { + "description": "Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains \"message_storage_policy\" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level.", + "format": "google-fieldmask", + "type": "string" + } + } + }, + "TextFormat": { + "properties": { + "delimiter": { + "description": "Optional. When unset, '\\n' is used.", + "type": "string" + } + }, + "description": "Configuration for reading Cloud Storage data in text format. Each line of text as specified by the delimiter will be set to the `data` field of a Pub/Sub message.", + "id": "TextFormat", + "type": "object" + }, + "ConfluentCloud": { + "id": "ConfluentCloud", + "type": "object", + "description": "Ingestion settings for Confluent Cloud.", + "properties": { + "topic": { + "type": "string", + "description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from." + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CONFLUENT_CLOUD_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "UNREACHABLE_BOOTSTRAP_SERVER", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Confluent Cloud.", + "Permission denied encountered while publishing to the topic.", + "The provided bootstrap server address is unreachable.", + "The provided cluster wasn't found.", + "The provided topic wasn't found." + ], + "description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "Required. The id of the cluster." + }, + "bootstrapServer": { + "description": "Required. The address of the bootstrap server. The format is url:port.", + "type": "string" + }, + "identityPoolId": { + "type": "string", + "description": "Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools." + } + } + }, + "ValidateSchemaResponse": { + "type": "object", + "description": "Response for the `ValidateSchema` method. Empty for now.", + "id": "ValidateSchemaResponse", + "properties": {} + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "CloudStorage": { + "id": "CloudStorage", + "description": "Ingestion settings for Cloud Storage.", + "type": "object", + "properties": { + "textFormat": { + "description": "Optional. Data from Cloud Storage will be interpreted as text.", + "$ref": "TextFormat" + }, + "bucket": { + "type": "string", + "description": "Optional. Cloud Storage bucket. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming)." + }, + "avroFormat": { + "description": "Optional. Data from Cloud Storage will be interpreted in Avro format.", + "$ref": "AvroFormat" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Cloud Storage ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CLOUD_STORAGE_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "BUCKET_NOT_FOUND", + "TOO_MANY_OBJECTS" + ], + "readOnly": true, + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while calling the Cloud Storage API. This can happen if the Pub/Sub SA has not been granted the [appropriate permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): - storage.objects.list: to list the objects in a bucket. - storage.objects.get: to read the objects in a bucket. - storage.buckets.get: to verify the bucket exists.", + "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", + "The provided Cloud Storage bucket doesn't exist.", + "The Cloud Storage bucket has too many objects, ingestion will be paused." + ], + "type": "string" + }, + "pubsubAvroFormat": { + "$ref": "PubSubAvroFormat", + "description": "Optional. It will be assumed data from Cloud Storage was written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage)." + }, + "minimumObjectCreateTime": { + "type": "string", + "format": "google-datetime", + "description": "Optional. Only objects with a larger or equal creation timestamp will be ingested." + }, + "matchGlob": { + "type": "string", + "description": "Optional. Glob pattern used to match objects that will be ingested. If unset, all objects will be ingested. See the [supported patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob)." + } + } + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, + "CommitSchemaRequest": { + "properties": { + "schema": { + "$ref": "Schema", + "description": "Required. The schema revision to commit." + } + }, + "type": "object", + "description": "Request for CommitSchema method.", + "id": "CommitSchemaRequest" + }, + "PlatformLogsSettings": { + "id": "PlatformLogsSettings", + "properties": { + "severity": { + "enum": [ + "SEVERITY_UNSPECIFIED", + "DISABLED", + "DEBUG", + "INFO", + "WARNING", + "ERROR" + ], + "description": "Optional. The minimum severity level of Platform Logs that will be written.", + "enumDescriptions": [ + "Default value. Logs level is unspecified. Logs will be disabled.", + "Logs will be disabled.", + "Debug logs and higher-severity logs will be written.", + "Info logs and higher-severity logs will be written.", + "Warning logs and higher-severity logs will be written.", + "Only error logs will be written." + ], + "type": "string" + } + }, + "description": "Settings for Platform Logs produced by Pub/Sub.", + "type": "object" + }, + "CloudStorageConfig": { + "id": "CloudStorageConfig", + "type": "object", + "description": "Configuration for a Cloud Storage subscription.", + "properties": { + "maxMessages": { + "type": "string", + "description": "Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages.", + "format": "int64" + }, + "filenameSuffix": { + "type": "string", + "description": "Optional. User-provided suffix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming). Must not end in \"/\"." + }, + "maxDuration": { + "type": "string", + "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline.", + "format": "google-duration" + }, + "filenameDatetimeFormat": { + "type": "string", + "description": "Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the [datetime format guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names)." + }, + "textConfig": { + "$ref": "TextConfig", + "description": "Optional. If set, message data will be written to Cloud Storage in text format." + }, + "filenamePrefix": { + "description": "Optional. User-provided prefix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming).", + "type": "string" + }, + "serviceAccountEmail": { + "description": "Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", + "type": "string" + }, + "bucket": { + "type": "string", + "description": "Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming)." + }, + "avroConfig": { + "description": "Optional. If set, message data will be written to Cloud Storage in Avro format.", + "$ref": "AvroConfig" + }, + "maxBytes": { + "format": "int64", + "description": "Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit.", + "type": "string" + }, + "state": { + "type": "string", + "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively send messages to Cloud Storage.", + "Cannot write to the Cloud Storage bucket because of permission denied errors.", + "Cannot write to the Cloud Storage bucket because it does not exist.", + "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions.", + "Cannot write to the Cloud Storage bucket due to an incompatibility between the topic schema and subscription settings." + ], + "readOnly": true, + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PERMISSION_DENIED", + "NOT_FOUND", + "IN_TRANSIT_LOCATION_RESTRICTION", + "SCHEMA_MISMATCH" + ] + } + } + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "type": "object", + "properties": { + "bindings": { + "items": { + "$ref": "Binding" + }, + "type": "array", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "format": "byte", + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "type": "integer", + "format": "int32" + } + } + }, + "MessageTransform": { + "id": "MessageTransform", + "description": "All supported message transforms types.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Optional. This field is deprecated, use the `disabled` field to disable transforms.", + "deprecated": true + }, + "javascriptUdf": { + "$ref": "JavaScriptUDF", + "description": "Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique `function_name`." + }, + "disabled": { + "type": "boolean", + "description": "Optional. If true, the transform is disabled and will not be applied to messages. Defaults to `false`." + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "id": "SetIamPolicyRequest", + "type": "object", + "properties": { + "policy": { + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", + "$ref": "Policy" + } + }, + "description": "Request message for `SetIamPolicy` method." + }, + "AcknowledgeRequest": { + "description": "Request for the Acknowledge method.", + "type": "object", + "properties": { + "ackIds": { + "type": "array", + "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", + "items": { + "type": "string" + } + } + }, + "id": "AcknowledgeRequest" + }, + "PubSubAvroFormat": { + "type": "object", + "description": "Configuration for reading Cloud Storage data written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The data and attributes fields of the originally exported Pub/Sub message will be restored when publishing.", + "properties": {}, + "id": "PubSubAvroFormat" + }, + "ListSnapshotsResponse": { + "id": "ListSnapshotsResponse", + "description": "Response for the `ListSnapshots` method.", + "properties": { + "nextPageToken": { + "type": "string", + "description": "Optional. If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new `ListSnapshotsRequest`." + }, + "snapshots": { + "description": "Optional. The resulting snapshots.", + "type": "array", + "items": { + "$ref": "Snapshot" + } + } + }, + "type": "object" + }, + "ListSchemaRevisionsResponse": { + "properties": { + "schemas": { + "items": { + "$ref": "Schema" + }, + "description": "The revisions of the schema.", + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", + "type": "string" + } + }, + "description": "Response for the `ListSchemaRevisions` method.", + "id": "ListSchemaRevisionsResponse", + "type": "object" + }, + "SeekRequest": { + "id": "SeekRequest", + "properties": { + "time": { + "type": "string", + "format": "google-datetime", + "description": "Optional. The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of `message_retention_duration` and `retain_acked_messages`). For example, if `time` corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored." + }, + "snapshot": { + "description": "Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is `projects/{project}/snapshots/{snap}`.", + "type": "string" + } + }, + "type": "object", + "description": "Request for the `Seek` method." + }, + "CreateSnapshotRequest": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "additionalProperties": { + "type": "string" + } + }, + "subscription": { + "type": "string", + "description": "Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`." + }, + "labels": { + "type": "object", + "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "CreateSnapshotRequest", + "description": "Request for the `CreateSnapshot` method." + }, + "TextConfig": { + "properties": {}, + "id": "TextConfig", + "description": "Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.", + "type": "object" + }, + "ModifyAckDeadlineRequest": { + "description": "Request for the ModifyAckDeadline method.", + "properties": { + "ackDeadlineSeconds": { + "format": "int32", + "description": "Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify in a single request is 600 seconds (10 minutes).", + "type": "integer" + }, + "ackIds": { + "description": "Required. List of acknowledgment IDs.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "ModifyAckDeadlineRequest", + "type": "object" + }, + "AwsMsk": { + "description": "Ingestion settings for Amazon MSK.", + "type": "object", + "id": "AwsMsk", + "properties": { + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "MSK_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Amazon MSK.", + "Permission denied encountered while publishing to the topic.", + "The provided MSK cluster wasn't found.", + "The provided topic wasn't found." + ], + "readOnly": true, + "description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source." + }, + "awsRoleArn": { + "type": "string", + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it." + }, + "clusterArn": { + "description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", + "type": "string" + } + } + }, + "ListTopicSnapshotsResponse": { + "description": "Response for the `ListTopicSnapshots` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new `ListTopicSnapshotsRequest` to get more snapshots.", + "type": "string" + }, + "snapshots": { + "description": "Optional. The names of the snapshots that match the request.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "ListTopicSnapshotsResponse" + }, + "ReceivedMessage": { + "description": "A message and its corresponding acknowledgment ID.", + "type": "object", + "properties": { + "ackId": { + "description": "Optional. This ID can be used to acknowledge the received message.", + "type": "string" + }, + "message": { + "description": "Optional. The message.", + "$ref": "PubsubMessage" + }, + "deliveryAttempt": { + "format": "int32", + "description": "Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, `delivery_attempt` will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0.", + "type": "integer" + } + }, + "id": "ReceivedMessage" + }, + "PullRequest": { + "description": "Request for the `Pull` method.", + "id": "PullRequest", + "properties": { + "maxMessages": { + "format": "int32", + "description": "Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.", + "type": "integer" + }, + "returnImmediately": { + "deprecated": true, + "type": "boolean", + "description": "Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the `Pull` response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field." + } + }, + "type": "object" + }, + "ValidateMessageRequest": { + "description": "Request for the `ValidateMessage` method.", + "properties": { + "schema": { + "description": "Ad-hoc schema against which to validate", + "$ref": "Schema" + }, + "encoding": { + "enumDescriptions": [ + "Unspecified", + "JSON encoding", + "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." + ], + "enum": [ + "ENCODING_UNSPECIFIED", + "JSON", + "BINARY" + ], + "type": "string", + "description": "The encoding expected for messages" + }, + "name": { + "description": "Name of the schema against which to validate. Format is `projects/{project}/schemas/{schema}`.", + "type": "string" + }, + "message": { + "description": "Message to validate against the provided `schema_spec`.", + "type": "string", + "format": "byte" + } + }, + "id": "ValidateMessageRequest", + "type": "object" + }, + "Subscription": { + "type": "object", + "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", + "id": "Subscription", + "properties": { + "detached": { + "description": "Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.", + "type": "boolean" + }, + "filter": { + "description": "Optional. An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.", + "type": "string" + }, + "retryPolicy": { + "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message.", + "$ref": "RetryPolicy" + }, + "name": { + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "type": "string" + }, + "enableMessageOrdering": { + "description": "Optional. If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"" + }, + "messageRetentionDuration": { + "format": "google-duration", + "type": "string", + "description": "Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 31 days or less than 10 minutes." + }, + "pushConfig": { + "description": "Optional. If push delivery is used with this subscription, this field is used to configure it.", + "$ref": "PushConfig" + }, + "deadLetterPolicy": { + "$ref": "DeadLetterPolicy", + "description": "Optional. A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription." + }, + "labels": { + "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "analyticsHubSubscriptionInfo": { + "$ref": "AnalyticsHubSubscriptionInfo", + "description": "Output only. Information about the associated Analytics Hub subscription. Only set if the subscritpion is created by Analytics Hub.", + "readOnly": true + }, + "state": { + "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", + "type": "string", + "readOnly": true, + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "RESOURCE_ERROR" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively receive messages", + "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration." + ] + }, + "topic": { + "type": "string", + "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted." + }, + "messageTransforms": { + "items": { + "$ref": "MessageTransform" + }, + "description": "Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified.", + "type": "array" + }, + "topicMessageRetentionDuration": { + "type": "string", + "format": "google-duration", + "readOnly": true, + "description": "Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests." + }, + "retainAckedMessages": { + "description": "Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", + "type": "boolean" + }, + "enableExactlyOnceDelivery": { + "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", + "type": "boolean" + }, + "cloudStorageConfig": { + "$ref": "CloudStorageConfig", + "description": "Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it." + }, + "ackDeadlineSeconds": { + "description": "Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be _outstanding_. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.", + "type": "integer", + "format": "int32" + }, + "expirationPolicy": { + "description": "Optional. A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, but `expiration_policy.ttl` is not set, the subscription never expires.", + "$ref": "ExpirationPolicy" + }, + "bigqueryConfig": { + "description": "Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it.", + "$ref": "BigQueryConfig" + } + } + }, + "BigQueryConfig": { + "properties": { + "writeMetadata": { + "type": "boolean", + "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column." + }, + "table": { + "type": "string", + "description": "Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}" + }, + "dropUnknownFields": { + "type": "boolean", + "description": "Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog." + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PERMISSION_DENIED", + "NOT_FOUND", + "SCHEMA_MISMATCH", + "IN_TRANSIT_LOCATION_RESTRICTION" + ], + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively send messages to BigQuery", + "Cannot write to the BigQuery table because of permission denied errors. This can happen if - Pub/Sub SA has not been granted the [appropriate BigQuery IAM permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account) - bigquery.googleapis.com API is not enabled for the project ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))", + "Cannot write to the BigQuery table because it does not exist.", + "Cannot write to the BigQuery table due to a schema mismatch.", + "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions." + ], + "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", + "readOnly": true + }, + "useTableSchema": { + "description": "Optional. When true, use the BigQuery table's schema as the columns to write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at the same time.", + "type": "boolean" + }, + "useTopicSchema": { + "description": "Optional. When true, use the topic's schema as the columns to write to in BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be enabled at the same time.", + "type": "boolean" + }, + "serviceAccountEmail": { + "type": "string", + "description": "Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used." + } + }, + "id": "BigQueryConfig", + "description": "Configuration for a BigQuery subscription.", + "type": "object" + } + }, + "batchPath": "batch", + "canonicalName": "Pubsub", + "servicePath": "", + "name": "pubsub", + "mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", + "id": "pubsub:v1", + "kind": "discovery#restDescription", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "revision": "20251113", + "ownerName": "Google", + "endpoints": [ + { + "location": "africa-south1", + "endpointUrl": "https://pubsub.africa-south1.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "description": "Regional Endpoint", + "location": "asia-east1", + "endpointUrl": "https://pubsub.asia-east1.rep.googleapis.com/" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "location": "asia-northeast2", + "endpointUrl": "https://pubsub.asia-northeast2.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.asia-northeast3.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "asia-northeast3" + }, + { + "location": "asia-south1", + "endpointUrl": "https://pubsub.asia-south1.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "description": "Regional Endpoint", + "location": "asia-south2", + "endpointUrl": "https://pubsub.asia-south2.rep.googleapis.com/" + }, + { + "location": "asia-southeast1", + "endpointUrl": "https://pubsub.asia-southeast1.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "location": "asia-southeast2", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.asia-southeast2.rep.googleapis.com/" + }, + { + "description": "Regional Endpoint", + "location": "asia-southeast3", + "endpointUrl": "https://pubsub.asia-southeast3.rep.googleapis.com/" + }, + { + "location": "australia-southeast1", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.australia-southeast1.rep.googleapis.com/" + }, + { + "location": "australia-southeast2", + "endpointUrl": "https://pubsub.australia-southeast2.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "location": "europe-west2", + "endpointUrl": "https://pubsub.europe-west2.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "location": "europe-west3", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.europe-west3.rep.googleapis.com/" + }, + { + "location": "europe-west6", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.europe-west6.rep.googleapis.com/" + }, + { + "endpointUrl": "https://pubsub.europe-west8.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "europe-west8" + }, + { + "location": "europe-west9", + "endpointUrl": "https://pubsub.europe-west9.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "location": "me-central1", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.me-central1.rep.googleapis.com/" + }, + { + "endpointUrl": "https://pubsub.me-central2.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "me-central2" + }, + { + "location": "me-west1", + "endpointUrl": "https://pubsub.me-west1.rep.googleapis.com/", + "description": "Regional Endpoint" + }, + { + "description": "Regional Endpoint", + "location": "northamerica-northeast1", + "endpointUrl": "https://pubsub.northamerica-northeast1.rep.googleapis.com/" + }, + { + "location": "northamerica-northeast2", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.northamerica-northeast2.rep.googleapis.com/" + }, + { + "description": "Regional Endpoint", + "location": "northamerica-south1", + "endpointUrl": "https://pubsub.northamerica-south1.rep.googleapis.com/" + }, + { + "endpointUrl": "https://pubsub.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.southamerica-west1.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "endpointUrl": "https://pubsub.us-central2.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "us-central2" + }, + { + "endpointUrl": "https://pubsub.us-east1.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "us-east1" + }, + { + "endpointUrl": "https://pubsub.us-east4.rep.googleapis.com/", + "location": "us-east4", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-east5.rep.googleapis.com/", + "description": "Regional Endpoint", + "location": "us-east5" + }, + { + "location": "us-south1", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.us-south1.rep.googleapis.com/" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "location": "us-west2", + "description": "Regional Endpoint", + "endpointUrl": "https://pubsub.us-west2.rep.googleapis.com/" + }, + { + "description": "Regional Endpoint", + "location": "us-west3", + "endpointUrl": "https://pubsub.us-west3.rep.googleapis.com/" + }, + { + "location": "us-west4", + "endpointUrl": "https://pubsub.us-west4.rep.googleapis.com/", + "description": "Regional Endpoint" + } + ], + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/pubsub/docs", + "ownerDomain": "google.com" } diff --git a/modules/test-resources/src/main/resources/redis_v1.json b/modules/test-resources/src/main/resources/redis_v1.json index 971fa49..368524e 100644 --- a/modules/test-resources/src/main/resources/redis_v1.json +++ b/modules/test-resources/src/main/resources/redis_v1.json @@ -1,3842 +1,15 @@ { + "version": "v1", + "id": "redis:v1", + "title": "Google Cloud Memorystore for Redis API", "kind": "discovery#restDescription", - "schemas": { - "ListOperationsResponse": { - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations.", - "type": "object", - "properties": { - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "Operation" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "Operation": { - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a network API call.", - "type": "object", - "properties": { - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", - "type": "string" - }, - "metadata": { - "description": "{ `createTime`: The time the operation was created. `endTime`: The time the operation finished running. `target`: Server-defined resource path for the target of the operation. `verb`: Name of the verb executed by the operation. `statusDetail`: Human-readable status of the operation, if any. `cancelRequested`: Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. `apiVersion`: API version used to start the operation. }", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" - }, - "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" - }, - "response": { - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - } - } - }, - "Status": { - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "type": "object", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer", - "format": "int32" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - } - } - } - }, - "Empty": { - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "type": "object", - "properties": {} - }, - "ListLocationsResponse": { - "id": "ListLocationsResponse", - "description": "The response message for Locations.ListLocations.", - "type": "object", - "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "Location" - } - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - } - }, - "Location": { - "id": "Location", - "description": "A resource that represents a Google Cloud location.", - "type": "object", - "properties": { - "name": { - "description": "Full resource name for the region. For example: \"projects/example-project/locations/us-east1\".", - "type": "string" - }, - "locationId": { - "description": "Resource ID for the region. For example: \"us-east1\".", - "type": "string" - }, - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", - "type": "string" - }, - "labels": { - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "metadata": { - "description": "Output only. The set of available zones in the location. The map is keyed by the lowercase ID of each zone, as defined by Compute Engine. These keys can be specified in `location_id` or `alternative_location_id` fields when creating a Redis instance.", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - } - } - } - }, - "ListClustersResponse": { - "id": "ListClustersResponse", - "description": "Response for ListClusters.", - "type": "object", - "properties": { - "clusters": { - "description": "A list of Redis clusters in the project in the specified location, or across all locations. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder Redis entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/clusters/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListClusters\".", - "type": "array", - "items": { - "$ref": "Cluster" - } - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "Locations that could not be reached.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Cluster": { - "id": "Cluster", - "description": "A cluster instance.", - "type": "object", - "properties": { - "gcsSource": { - "description": "Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects.", - "$ref": "GcsBackupSource" - }, - "managedBackupSource": { - "description": "Optional. Backups generated and managed by memorystore service.", - "$ref": "ManagedBackupSource" - }, - "name": { - "description": "Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`", - "type": "string" - }, - "createTime": { - "description": "Output only. The timestamp associated with the cluster creation request.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "state": { - "description": "Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Not set.", - "Redis cluster is being created.", - "Redis cluster has been created and is fully usable.", - "Redis cluster configuration is being updated.", - "Redis cluster is being deleted." - ], - "enum": [ - "STATE_UNSPECIFIED", - "CREATING", - "ACTIVE", - "UPDATING", - "DELETING" - ] - }, - "uid": { - "description": "Output only. System assigned, unique identifier for the cluster.", - "readOnly": true, - "type": "string" - }, - "replicaCount": { - "description": "Optional. The number of replica nodes per shard.", - "type": "integer", - "format": "int32" - }, - "authorizationMode": { - "description": "Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "IAM basic authorization mode", - "Authorization disabled mode" - ], - "enum": [ - "AUTH_MODE_UNSPECIFIED", - "AUTH_MODE_IAM_AUTH", - "AUTH_MODE_DISABLED" - ] - }, - "transitEncryptionMode": { - "description": "Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.", - "type": "string", - "enumDescriptions": [ - "In-transit encryption not set.", - "In-transit encryption disabled.", - "Use server managed encryption for in-transit encryption." - ], - "enum": [ - "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED", - "TRANSIT_ENCRYPTION_MODE_DISABLED", - "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION" - ] - }, - "sizeGb": { - "description": "Output only. Redis memory size in GB for the entire cluster rounded up to the next integer.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "shardCount": { - "description": "Optional. Number of shards for the Redis cluster.", - "type": "integer", - "format": "int32" - }, - "pscConfigs": { - "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", - "type": "array", - "items": { - "$ref": "PscConfig" - } - }, - "discoveryEndpoints": { - "description": "Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "DiscoveryEndpoint" - } - }, - "pscConnections": { - "description": "Output only. The list of PSC connections that are auto-created through service connectivity automation.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "PscConnection" - } - }, - "stateInfo": { - "description": "Output only. Additional information about the current state of the cluster.", - "readOnly": true, - "$ref": "StateInfo" - }, - "nodeType": { - "description": "Optional. The type of a redis node in the cluster. NodeType determines the underlying machine-type of a redis node.", - "type": "string", - "enumDescriptions": [ - "Node type unspecified", - "Redis shared core nano node_type.", - "Redis highmem medium node_type.", - "Redis highmem xlarge node_type.", - "Redis standard small node_type." - ], - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "REDIS_SHARED_CORE_NANO", - "REDIS_HIGHMEM_MEDIUM", - "REDIS_HIGHMEM_XLARGE", - "REDIS_STANDARD_SMALL" - ] - }, - "persistenceConfig": { - "description": "Optional. Persistence config (RDB, AOF) for the cluster.", - "$ref": "ClusterPersistenceConfig" - }, - "redisConfigs": { - "description": "Optional. Key/Value pairs of customer overrides for mutable Redis Configs", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "preciseSizeGb": { - "description": "Output only. Precise value of redis memory size in GB for the entire cluster.", - "readOnly": true, - "type": "number", - "format": "double" - }, - "zoneDistributionConfig": { - "description": "Optional. This config will be used to determine how the customer wants us to distribute cluster resources within the region.", - "$ref": "ZoneDistributionConfig" - }, - "crossClusterReplicationConfig": { - "description": "Optional. Cross cluster replication config.", - "$ref": "CrossClusterReplicationConfig" - }, - "deletionProtectionEnabled": { - "description": "Optional. The delete operation will fail when the value is set to true.", - "type": "boolean" - }, - "maintenancePolicy": { - "description": "Optional. ClusterMaintenancePolicy determines when to allow or deny updates.", - "$ref": "ClusterMaintenancePolicy" - }, - "maintenanceSchedule": { - "description": "Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule.", - "readOnly": true, - "$ref": "ClusterMaintenanceSchedule" - }, - "pscServiceAttachments": { - "description": "Output only. Service attachment details to configure Psc connections", - "readOnly": true, - "type": "array", - "items": { - "$ref": "PscServiceAttachment" - } - }, - "clusterEndpoints": { - "description": "Optional. A list of cluster endpoints.", - "type": "array", - "items": { - "$ref": "ClusterEndpoint" - } - }, - "backupCollection": { - "description": "Optional. Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}", - "readOnly": true, - "type": "string" - }, - "kmsKey": { - "description": "Optional. The KMS key used to encrypt the at-rest data of the cluster.", - "type": "string" - }, - "automatedBackupConfig": { - "description": "Optional. The automated backup config for the cluster.", - "$ref": "AutomatedBackupConfig" - }, - "encryptionInfo": { - "description": "Output only. Encryption information of the data at rest of the cluster.", - "readOnly": true, - "$ref": "EncryptionInfo" - }, - "asyncClusterEndpointsDeletionEnabled": { - "description": "Optional. If true, cluster endpoints that are created and registered by customers can be deleted asynchronously. That is, such a cluster endpoint can be de-registered before the forwarding rules in the cluster endpoint are deleted.", - "type": "boolean" - } - } - }, - "GcsBackupSource": { - "id": "GcsBackupSource", - "description": "Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.", - "type": "object", - "properties": { - "uris": { - "description": "Optional. URIs of the Cloud Storage objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ManagedBackupSource": { - "id": "ManagedBackupSource", - "description": "Backups that generated and managed by memorystore.", - "type": "object", - "properties": { - "backup": { - "description": "Optional. Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under redis.googleapis.com.", - "type": "string" - } - } - }, - "PscConfig": { - "id": "PscConfig", - "type": "object", - "properties": { - "network": { - "description": "Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_id}.", - "type": "string" - } - } - }, - "DiscoveryEndpoint": { - "id": "DiscoveryEndpoint", - "description": "Endpoints on each network, for Redis clients to connect to the cluster.", - "type": "object", - "properties": { - "address": { - "description": "Output only. Address of the exposed Redis endpoint used by clients to connect to the service. The address could be either IP or hostname.", - "readOnly": true, - "type": "string" - }, - "port": { - "description": "Output only. The port number of the exposed Redis endpoint.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "pscConfig": { - "description": "Output only. Customer configuration for where the endpoint is created and accessed from.", - "readOnly": true, - "$ref": "PscConfig" - } - } - }, - "PscConnection": { - "id": "PscConnection", - "description": "Details of consumer resources in a PSC connection.", - "type": "object", - "properties": { - "pscConnectionId": { - "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", - "type": "string" - }, - "address": { - "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", - "type": "string" - }, - "forwardingRule": { - "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", - "type": "string" - }, - "projectId": { - "description": "Optional. Project ID of the consumer project where the forwarding rule is created in.", - "type": "string" - }, - "network": { - "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", - "type": "string" - }, - "serviceAttachment": { - "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", - "type": "string" - }, - "pscConnectionStatus": { - "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "PSC connection status is not specified.", - "The connection is active", - "Connection not found" - ], - "enum": [ - "PSC_CONNECTION_STATUS_UNSPECIFIED", - "PSC_CONNECTION_STATUS_ACTIVE", - "PSC_CONNECTION_STATUS_NOT_FOUND" - ] - }, - "connectionType": { - "description": "Output only. Type of the PSC connection.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Cluster endpoint Type is not set", - "Cluster endpoint that will be used as for cluster topology discovery.", - "Cluster endpoint that will be used as primary endpoint to access primary.", - "Cluster endpoint that will be used as reader endpoint to access replicas." - ], - "enum": [ - "CONNECTION_TYPE_UNSPECIFIED", - "CONNECTION_TYPE_DISCOVERY", - "CONNECTION_TYPE_PRIMARY", - "CONNECTION_TYPE_READER" - ] - }, - "port": { - "description": "Output only. The port number of the exposed discovery endpoint.", - "readOnly": true, - "type": "integer", - "format": "int32" - } - } - }, - "StateInfo": { - "id": "StateInfo", - "description": "Represents additional information about the state of the cluster.", - "type": "object", - "properties": { - "updateInfo": { - "description": "Describes ongoing update on the cluster when cluster state is UPDATING.", - "$ref": "UpdateInfo" - } - } - }, - "UpdateInfo": { - "id": "UpdateInfo", - "description": "Represents information about an updating cluster.", - "type": "object", - "properties": { - "targetShardCount": { - "description": "Target number of shards for redis cluster", - "type": "integer", - "format": "int32" - }, - "targetReplicaCount": { - "description": "Target number of replica nodes per shard.", - "type": "integer", - "format": "int32" - }, - "targetNodeType": { - "description": "Target node type for redis cluster.", - "type": "string", - "enumDescriptions": [ - "Node type unspecified", - "Redis shared core nano node_type.", - "Redis highmem medium node_type.", - "Redis highmem xlarge node_type.", - "Redis standard small node_type." - ], - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "REDIS_SHARED_CORE_NANO", - "REDIS_HIGHMEM_MEDIUM", - "REDIS_HIGHMEM_XLARGE", - "REDIS_STANDARD_SMALL" - ] - } - } - }, - "ClusterPersistenceConfig": { - "id": "ClusterPersistenceConfig", - "description": "Configuration of the persistence functionality.", - "type": "object", - "properties": { - "mode": { - "description": "Optional. The mode of persistence.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "Persistence is disabled, and any snapshot data is deleted.", - "RDB based persistence is enabled.", - "AOF based persistence is enabled." - ], - "enum": [ - "PERSISTENCE_MODE_UNSPECIFIED", - "DISABLED", - "RDB", - "AOF" - ] - }, - "rdbConfig": { - "description": "Optional. RDB configuration. This field will be ignored if mode is not RDB.", - "$ref": "RDBConfig" - }, - "aofConfig": { - "description": "Optional. AOF configuration. This field will be ignored if mode is not AOF.", - "$ref": "AOFConfig" - } - } - }, - "RDBConfig": { - "id": "RDBConfig", - "description": "Configuration of the RDB based persistence.", - "type": "object", - "properties": { - "rdbSnapshotPeriod": { - "description": "Optional. Period between RDB snapshots.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "One hour.", - "Six hours.", - "Twelve hours.", - "Twenty four hours." - ], - "enum": [ - "SNAPSHOT_PERIOD_UNSPECIFIED", - "ONE_HOUR", - "SIX_HOURS", - "TWELVE_HOURS", - "TWENTY_FOUR_HOURS" - ] - }, - "rdbSnapshotStartTime": { - "description": "Optional. The time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", - "type": "string", - "format": "google-datetime" - } - } - }, - "AOFConfig": { - "id": "AOFConfig", - "description": "Configuration of the AOF based persistence.", - "type": "object", - "properties": { - "appendFsync": { - "description": "Optional. fsync configuration.", - "type": "string", - "enumDescriptions": [ - "Not set. Default: EVERYSEC", - "Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.", - "fsync every second. Fast enough, and you may lose 1 second of data if there is a disaster", - "fsync every time new write commands are appended to the AOF. It has the best data loss protection at the cost of performance" - ], - "enum": [ - "APPEND_FSYNC_UNSPECIFIED", - "NO", - "EVERYSEC", - "ALWAYS" - ] - } - } - }, - "ZoneDistributionConfig": { - "id": "ZoneDistributionConfig", - "description": "Zone distribution config for allocation of cluster resources.", - "type": "object", - "properties": { - "mode": { - "description": "Optional. The mode of zone distribution. Defaults to MULTI_ZONE, when not specified.", - "type": "string", - "enumDescriptions": [ - "Not Set. Default: MULTI_ZONE", - "Distribute all resources across 3 zones picked at random, within the region.", - "Distribute all resources in a single zone. The zone field must be specified, when this mode is selected." - ], - "enum": [ - "ZONE_DISTRIBUTION_MODE_UNSPECIFIED", - "MULTI_ZONE", - "SINGLE_ZONE" - ] - }, - "zone": { - "description": "Optional. When SINGLE ZONE distribution is selected, zone field would be used to allocate all resources in that zone. This is not applicable to MULTI_ZONE, and would be ignored for MULTI_ZONE clusters.", - "type": "string" - } - } - }, - "CrossClusterReplicationConfig": { - "id": "CrossClusterReplicationConfig", - "description": "Cross cluster replication config.", - "type": "object", - "properties": { - "clusterRole": { - "description": "The role of the cluster in cross cluster replication.", - "type": "string", - "enumDescriptions": [ - "Cluster role is not set. The behavior is equivalent to NONE.", - "This cluster does not participate in cross cluster replication. It is an independent cluster and does not replicate to or from any other clusters.", - "A cluster that allows both reads and writes. Any data written to this cluster is also replicated to the attached secondary clusters.", - "A cluster that allows only reads and replicates data from a primary cluster." - ], - "enum": [ - "CLUSTER_ROLE_UNSPECIFIED", - "NONE", - "PRIMARY", - "SECONDARY" - ] - }, - "primaryCluster": { - "description": "Details of the primary cluster that is used as the replication source for this secondary cluster. This field is only set for a secondary cluster.", - "$ref": "RemoteCluster" - }, - "secondaryClusters": { - "description": "List of secondary clusters that are replicating from this primary cluster. This field is only set for a primary cluster.", - "type": "array", - "items": { - "$ref": "RemoteCluster" - } - }, - "updateTime": { - "description": "Output only. The last time cross cluster replication config was updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "membership": { - "description": "Output only. An output only view of all the member clusters participating in the cross cluster replication. This view will be provided by every member cluster irrespective of its cluster role(primary or secondary). A primary cluster can provide information about all the secondary clusters replicating from it. However, a secondary cluster only knows about the primary cluster from which it is replicating. However, for scenarios, where the primary cluster is unavailable(e.g. regional outage), a GetCluster request can be sent to any other member cluster and this field will list all the member clusters participating in cross cluster replication.", - "readOnly": true, - "$ref": "Membership" - } - } - }, - "RemoteCluster": { - "id": "RemoteCluster", - "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", - "type": "object", - "properties": { - "cluster": { - "description": "The full resource path of the remote cluster in the format: projects//locations//clusters/", - "type": "string" - }, - "uid": { - "description": "Output only. The unique identifier of the remote cluster.", - "readOnly": true, - "type": "string" - } - } - }, - "Membership": { - "id": "Membership", - "description": "An output only view of all the member clusters participating in the cross cluster replication.", - "type": "object", - "properties": { - "primaryCluster": { - "description": "Output only. The primary cluster that acts as the source of replication for the secondary clusters.", - "readOnly": true, - "$ref": "RemoteCluster" - }, - "secondaryClusters": { - "description": "Output only. The list of secondary clusters replicating from the primary cluster.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "RemoteCluster" - } - } - } - }, - "ClusterMaintenancePolicy": { - "id": "ClusterMaintenancePolicy", - "description": "Maintenance policy per cluster.", - "type": "object", - "properties": { - "createTime": { - "description": "Output only. The time when the policy was created i.e. Maintenance Window or Deny Period was assigned.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. The time when the policy was updated i.e. Maintenance Window or Deny Period was updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "weeklyMaintenanceWindow": { - "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_window is expected to be one.", - "type": "array", - "items": { - "$ref": "ClusterWeeklyMaintenanceWindow" - } - } - } - }, - "ClusterWeeklyMaintenanceWindow": { - "id": "ClusterWeeklyMaintenanceWindow", - "description": "Time window specified for weekly operations.", - "type": "object", - "properties": { - "day": { - "description": "Allows to define schedule that runs specified day of the week.", - "type": "string", - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ] - }, - "startTime": { - "description": "Start time of the window in UTC.", - "$ref": "TimeOfDay" - } - } - }, - "TimeOfDay": { - "id": "TimeOfDay", - "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", - "type": "object", - "properties": { - "hours": { - "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", - "type": "integer", - "format": "int32" - }, - "minutes": { - "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", - "type": "integer", - "format": "int32" - }, - "seconds": { - "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", - "type": "integer", - "format": "int32" - }, - "nanos": { - "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", - "type": "integer", - "format": "int32" - } - } - }, - "ClusterMaintenanceSchedule": { - "id": "ClusterMaintenanceSchedule", - "description": "Upcoming maintenance schedule.", - "type": "object", - "properties": { - "startTime": { - "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "PscServiceAttachment": { - "id": "PscServiceAttachment", - "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", - "type": "object", - "properties": { - "serviceAttachment": { - "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", - "readOnly": true, - "type": "string" - }, - "connectionType": { - "description": "Output only. Type of a PSC connection targeting this service attachment.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Cluster endpoint Type is not set", - "Cluster endpoint that will be used as for cluster topology discovery.", - "Cluster endpoint that will be used as primary endpoint to access primary.", - "Cluster endpoint that will be used as reader endpoint to access replicas." - ], - "enum": [ - "CONNECTION_TYPE_UNSPECIFIED", - "CONNECTION_TYPE_DISCOVERY", - "CONNECTION_TYPE_PRIMARY", - "CONNECTION_TYPE_READER" - ] - } - } - }, - "ClusterEndpoint": { - "id": "ClusterEndpoint", - "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", - "type": "object", - "properties": { - "connections": { - "description": "Required. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", - "type": "array", - "items": { - "$ref": "ConnectionDetail" - } - } - } - }, - "ConnectionDetail": { - "id": "ConnectionDetail", - "description": "Detailed information of each PSC connection.", - "type": "object", - "properties": { - "pscAutoConnection": { - "description": "Detailed information of a PSC connection that is created through service connectivity automation.", - "$ref": "PscAutoConnection" - }, - "pscConnection": { - "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster.", - "$ref": "PscConnection" - } - } - }, - "PscAutoConnection": { - "id": "PscAutoConnection", - "description": "Details of consumer resources in a PSC connection that is created through Service Connectivity Automation.", - "type": "object", - "properties": { - "pscConnectionId": { - "description": "Output only. The PSC connection id of the forwarding rule connected to the service attachment.", - "readOnly": true, - "type": "string" - }, - "address": { - "description": "Output only. The IP allocated on the consumer network for the PSC forwarding rule.", - "readOnly": true, - "type": "string" - }, - "forwardingRule": { - "description": "Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", - "readOnly": true, - "type": "string" - }, - "projectId": { - "description": "Required. The consumer project_id where the forwarding rule is created from.", - "type": "string" - }, - "network": { - "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", - "type": "string" - }, - "serviceAttachment": { - "description": "Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", - "readOnly": true, - "type": "string" - }, - "pscConnectionStatus": { - "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "PSC connection status is not specified.", - "The connection is active", - "Connection not found" - ], - "enum": [ - "PSC_CONNECTION_STATUS_UNSPECIFIED", - "PSC_CONNECTION_STATUS_ACTIVE", - "PSC_CONNECTION_STATUS_NOT_FOUND" - ] - }, - "connectionType": { - "description": "Output only. Type of the PSC connection.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Cluster endpoint Type is not set", - "Cluster endpoint that will be used as for cluster topology discovery.", - "Cluster endpoint that will be used as primary endpoint to access primary.", - "Cluster endpoint that will be used as reader endpoint to access replicas." - ], - "enum": [ - "CONNECTION_TYPE_UNSPECIFIED", - "CONNECTION_TYPE_DISCOVERY", - "CONNECTION_TYPE_PRIMARY", - "CONNECTION_TYPE_READER" - ] - } - } - }, - "AutomatedBackupConfig": { - "id": "AutomatedBackupConfig", - "description": "The automated backup config for a cluster.", - "type": "object", - "properties": { - "fixedFrequencySchedule": { - "description": "Optional. Trigger automated backups at a fixed frequency.", - "$ref": "FixedFrequencySchedule" - }, - "automatedBackupMode": { - "description": "Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.", - "type": "string", - "enumDescriptions": [ - "Default value. Automated backup config is not specified.", - "Automated backup config disabled.", - "Automated backup config enabled." - ], - "enum": [ - "AUTOMATED_BACKUP_MODE_UNSPECIFIED", - "DISABLED", - "ENABLED" - ] - }, - "retention": { - "description": "Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.", - "type": "string", - "format": "google-duration" - } - } - }, - "FixedFrequencySchedule": { - "id": "FixedFrequencySchedule", - "description": "This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).", - "type": "object", - "properties": { - "startTime": { - "description": "Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required.", - "$ref": "TimeOfDay" - } - } - }, - "EncryptionInfo": { - "id": "EncryptionInfo", - "description": "EncryptionInfo describes the encryption information of a cluster or a backup.", - "type": "object", - "properties": { - "encryptionType": { - "description": "Output only. Type of encryption.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.", - "The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.", - "The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "GOOGLE_DEFAULT_ENCRYPTION", - "CUSTOMER_MANAGED_ENCRYPTION" - ] - }, - "kmsKeyVersions": { - "description": "Output only. KMS key versions that are being used to protect the data at-rest.", - "readOnly": true, - "type": "array", - "items": { - "type": "string" - } - }, - "kmsKeyPrimaryState": { - "description": "Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The default value. This value is unused.", - "The KMS key is enabled and correctly configured.", - "Permission denied on the KMS key.", - "The KMS key is disabled.", - "The KMS key is destroyed.", - "The KMS key is scheduled to be destroyed.", - "The EKM key is unreachable.", - "Billing is disabled for the project.", - "All other unknown failures." - ], - "enum": [ - "KMS_KEY_STATE_UNSPECIFIED", - "ENABLED", - "PERMISSION_DENIED", - "DISABLED", - "DESTROYED", - "DESTROY_SCHEDULED", - "EKM_KEY_UNREACHABLE_DETECTED", - "BILLING_DISABLED", - "UNKNOWN_FAILURE" - ] - }, - "lastUpdateTime": { - "description": "Output only. The most recent time when the encryption info was updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "CertificateAuthority": { - "id": "CertificateAuthority", - "description": "Redis cluster certificate authority", - "type": "object", - "properties": { - "managedServerCa": { - "$ref": "ManagedCertificateAuthority" - }, - "name": { - "description": "Identifier. Unique name of the resource in this scope including project, location and cluster using the form: `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthority`", - "type": "string" - } - } - }, - "ManagedCertificateAuthority": { - "id": "ManagedCertificateAuthority", - "type": "object", - "properties": { - "caCerts": { - "description": "The PEM encoded CA certificate chains for redis managed server authentication", - "type": "array", - "items": { - "$ref": "CertChain" - } - } - } - }, - "CertChain": { - "id": "CertChain", - "type": "object", - "properties": { - "certificates": { - "description": "The certificates that form the CA chain, from leaf to root order.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "RescheduleClusterMaintenanceRequest": { - "id": "RescheduleClusterMaintenanceRequest", - "description": "Request for rescheduling a cluster maintenance.", - "type": "object", - "properties": { - "rescheduleType": { - "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "If the user wants to schedule the maintenance to happen now.", - "If the user wants to reschedule the maintenance to a specific time." - ], - "enum": [ - "RESCHEDULE_TYPE_UNSPECIFIED", - "IMMEDIATE", - "SPECIFIC_TIME" - ] - }, - "scheduleTime": { - "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", - "type": "string", - "format": "google-datetime" - } - } - }, - "ListBackupCollectionsResponse": { - "id": "ListBackupCollectionsResponse", - "description": "Response for [ListBackupCollections].", - "type": "object", - "properties": { - "backupCollections": { - "description": "A list of backupCollections in the project. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListBackupCollections\".", - "type": "array", - "items": { - "$ref": "BackupCollection" - } - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "Locations that could not be reached.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "BackupCollection": { - "id": "BackupCollection", - "description": "BackupCollection of a cluster.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. Full resource path of the backup collection.", - "type": "string" - }, - "clusterUid": { - "description": "Output only. The cluster uid of the backup collection.", - "readOnly": true, - "type": "string" - }, - "cluster": { - "description": "Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project}/locations/{location}/clusters/{cluster}", - "readOnly": true, - "type": "string" - }, - "kmsKey": { - "description": "Output only. The KMS key used to encrypt the backups under this backup collection.", - "readOnly": true, - "type": "string" - }, - "uid": { - "description": "Output only. System assigned unique identifier of the backup collection.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time when the backup collection was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "ListBackupsResponse": { - "id": "ListBackupsResponse", - "description": "Response for [ListBackups].", - "type": "object", - "properties": { - "backups": { - "description": "A list of backups in the project.", - "type": "array", - "items": { - "$ref": "Backup" - } - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "Backups that could not be reached.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Backup": { - "id": "Backup", - "description": "Backup of a cluster.", - "type": "object", - "properties": { - "name": { - "description": "Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234", - "type": "string" - }, - "createTime": { - "description": "Output only. The time when the backup was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "cluster": { - "description": "Output only. Cluster resource path of this backup.", - "readOnly": true, - "type": "string" - }, - "clusterUid": { - "description": "Output only. Cluster uid of this backup.", - "readOnly": true, - "type": "string" - }, - "totalSizeBytes": { - "description": "Output only. Total size of the backup in bytes.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "expireTime": { - "description": "Output only. The time when the backup will expire.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "engineVersion": { - "description": "Output only. redis-7.2, valkey-7.5", - "readOnly": true, - "type": "string" - }, - "backupFiles": { - "description": "Output only. List of backup files of the backup.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "BackupFile" - } - }, - "nodeType": { - "description": "Output only. Node type of the cluster.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Node type unspecified", - "Redis shared core nano node_type.", - "Redis highmem medium node_type.", - "Redis highmem xlarge node_type.", - "Redis standard small node_type." - ], - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "REDIS_SHARED_CORE_NANO", - "REDIS_HIGHMEM_MEDIUM", - "REDIS_HIGHMEM_XLARGE", - "REDIS_STANDARD_SMALL" - ] - }, - "replicaCount": { - "description": "Output only. Number of replicas for the cluster.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "shardCount": { - "description": "Output only. Number of shards for the cluster.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "backupType": { - "description": "Output only. Type of the backup.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The default value, not set.", - "On-demand backup.", - "Automated backup." - ], - "enum": [ - "BACKUP_TYPE_UNSPECIFIED", - "ON_DEMAND", - "AUTOMATED" - ] - }, - "state": { - "description": "Output only. State of the backup.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "The default value, not set.", - "The backup is being created.", - "The backup is active to be used.", - "The backup is being deleted.", - "The backup is currently suspended due to reasons like project deletion, billing account closure, etc." - ], - "enum": [ - "STATE_UNSPECIFIED", - "CREATING", - "ACTIVE", - "DELETING", - "SUSPENDED" - ] - }, - "encryptionInfo": { - "description": "Output only. Encryption information of the backup.", - "readOnly": true, - "$ref": "EncryptionInfo" - }, - "uid": { - "description": "Output only. System assigned unique identifier of the backup.", - "readOnly": true, - "type": "string" - } - } - }, - "BackupFile": { - "id": "BackupFile", - "description": "Backup is consisted of multiple backup files.", - "type": "object", - "properties": { - "fileName": { - "description": "Output only. e.g: .rdb", - "readOnly": true, - "type": "string" - }, - "sizeBytes": { - "description": "Output only. Size of the backup file in bytes.", - "readOnly": true, - "type": "string", - "format": "int64" - }, - "createTime": { - "description": "Output only. The time when the backup file was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "ExportBackupRequest": { - "id": "ExportBackupRequest", - "description": "Request for [ExportBackup].", - "type": "object", - "properties": { - "gcsBucket": { - "description": "Google Cloud Storage bucket, like \"my-bucket\".", - "type": "string" - } - } - }, - "BackupClusterRequest": { - "id": "BackupClusterRequest", - "description": "Request for [BackupCluster].", - "type": "object", - "properties": { - "ttl": { - "description": "Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years.", - "type": "string", - "format": "google-duration" - }, - "backupId": { - "description": "Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.", - "type": "string" - } - } - }, - "ListInstancesResponse": { - "id": "ListInstancesResponse", - "description": "Response for ListInstances.", - "type": "object", - "properties": { - "instances": { - "description": "A list of Redis instances in the project in the specified location, or across all locations. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder Redis entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/instances/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListInstances\".", - "type": "array", - "items": { - "$ref": "Instance" - } - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "Locations that could not be reached.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Instance": { - "id": "Instance", - "description": "A Memorystore for Redis instance.", - "type": "object", - "properties": { - "name": { - "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.", - "type": "string" - }, - "displayName": { - "description": "An arbitrary and optional user-provided name for the instance.", - "type": "string" - }, - "labels": { - "description": "Resource labels to represent user provided metadata", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "locationId": { - "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone from the specified region for the instance. For standard tier, additional nodes will be added across multiple zones for protection against zonal failures. If specified, at least one node will be provisioned in this zone.", - "type": "string" - }, - "alternativeLocationId": { - "description": "Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service.", - "type": "string" - }, - "redisVersion": { - "description": "Optional. The version of Redis software. If not provided, the default version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for Redis 7.0 compatibility (default) * `REDIS_7_2` for Redis 7.2 compatibility", - "type": "string" - }, - "reservedIpRange": { - "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28.", - "type": "string" - }, - "secondaryIpRange": { - "description": "Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or \"auto\". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address range associated with the private service access connection, or \"auto\".", - "type": "string" - }, - "host": { - "description": "Output only. Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service.", - "readOnly": true, - "type": "string" - }, - "port": { - "description": "Output only. The port number of the exposed Redis endpoint.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "currentLocationId": { - "description": "Output only. The current zone where the Redis primary node is located. In basic tier, this will always be the same as [location_id]. In standard tier, this can be the zone of any node in the instance.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time the instance was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "state": { - "description": "Output only. The current state of this instance.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Not set.", - "Redis instance is being created.", - "Redis instance has been created and is fully usable.", - "Redis instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", - "Redis instance is being deleted.", - "Redis instance is being repaired and may be unusable.", - "Maintenance is being performed on this Redis instance.", - "Redis instance is importing data (availability may be affected).", - "Redis instance is failing over (availability may be affected)." - ], - "enum": [ - "STATE_UNSPECIFIED", - "CREATING", - "READY", - "UPDATING", - "DELETING", - "REPAIRING", - "MAINTENANCE", - "IMPORTING", - "FAILING_OVER" - ] - }, - "statusMessage": { - "description": "Output only. Additional information about the current status of this instance, if available.", - "readOnly": true, - "type": "string" - }, - "redisConfigs": { - "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "tier": { - "description": "Required. The service tier of the instance.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "BASIC tier: standalone instance", - "STANDARD_HA tier: highly available primary/replica instances" - ], - "enum": [ - "TIER_UNSPECIFIED", - "BASIC", - "STANDARD_HA" - ] - }, - "memorySizeGb": { - "description": "Required. Redis memory size in GiB.", - "type": "integer", - "format": "int32" - }, - "authorizedNetwork": { - "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.", - "type": "string" - }, - "persistenceIamIdentity": { - "description": "Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is \"serviceAccount:\". The value may change over time for a given instance so should be checked before each import/export operation.", - "readOnly": true, - "type": "string" - }, - "connectMode": { - "description": "Optional. The network connect mode of the Redis instance. If not provided, the connect mode defaults to DIRECT_PEERING.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "Connect via direct peering to the Memorystore for Redis hosted service.", - "Connect your Memorystore for Redis instance using Private Service Access. Private services access provides an IP address range for multiple Google Cloud services, including Memorystore." - ], - "enum": [ - "CONNECT_MODE_UNSPECIFIED", - "DIRECT_PEERING", - "PRIVATE_SERVICE_ACCESS" - ] - }, - "authEnabled": { - "description": "Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to \"true\" AUTH is enabled on the instance. Default value is \"false\" meaning AUTH is disabled.", - "type": "boolean" - }, - "serverCaCerts": { - "description": "Output only. List of server CA certificates for the instance.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "TlsCertificate" - } - }, - "transitEncryptionMode": { - "description": "Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "Client to Server traffic encryption enabled with server authentication.", - "TLS is disabled for the instance." - ], - "enum": [ - "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED", - "SERVER_AUTHENTICATION", - "DISABLED" - ] - }, - "maintenancePolicy": { - "description": "Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.", - "$ref": "MaintenancePolicy" - }, - "maintenanceSchedule": { - "description": "Output only. Date and time of upcoming maintenance events which have been scheduled.", - "readOnly": true, - "$ref": "MaintenanceSchedule" - }, - "replicaCount": { - "description": "Optional. The number of replica nodes. The valid range for the Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled for a Standard Tier instance, the only valid value is 1 and the default is 1. The valid value for basic tier is 0 and the default is also 0.", - "type": "integer", - "format": "int32" - }, - "nodes": { - "description": "Output only. Info per node.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "NodeInfo" - } - }, - "readEndpoint": { - "description": "Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only. Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes will exhibit some lag behind the primary. Write requests must target 'host'.", - "readOnly": true, - "type": "string" - }, - "readEndpointPort": { - "description": "Output only. The port number of the exposed readonly redis endpoint. Standard tier only. Write requests should target 'port'.", - "readOnly": true, - "type": "integer", - "format": "int32" - }, - "readReplicasMode": { - "description": "Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.", - "type": "string", - "enumDescriptions": [ - "If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.", - "If disabled, read endpoint will not be provided and the instance cannot scale up or down the number of replicas.", - "If enabled, read endpoint will be provided and the instance can scale up and down the number of replicas. Not valid for basic tier." - ], - "enum": [ - "READ_REPLICAS_MODE_UNSPECIFIED", - "READ_REPLICAS_DISABLED", - "READ_REPLICAS_ENABLED" - ] - }, - "customerManagedKey": { - "description": "Optional. The KMS key reference that the customer provides when trying to create the instance.", - "type": "string" - }, - "persistenceConfig": { - "description": "Optional. Persistence configuration parameters", - "$ref": "PersistenceConfig" - }, - "suspensionReasons": { - "description": "Optional. reasons that causes instance in \"SUSPENDED\" state.", - "type": "array", - "items": { - "type": "string", - "enumDescriptions": [ - "Not set.", - "Something wrong with the CMEK key provided by customer." - ], - "enum": [ - "SUSPENSION_REASON_UNSPECIFIED", - "CUSTOMER_MANAGED_KEY_ISSUE" - ] - } - }, - "maintenanceVersion": { - "description": "Optional. The self service update maintenance version. The version is date based such as \"20210712_00_00\".", - "type": "string" - }, - "availableMaintenanceVersions": { - "description": "Optional. The available maintenance versions that an instance could update to.", - "type": "array", - "items": { - "type": "string" - } - }, - "satisfiesPzs": { - "description": "Optional. Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzi": { - "description": "Optional. Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - } - } - }, - "TlsCertificate": { - "id": "TlsCertificate", - "description": "TlsCertificate Resource", - "type": "object", - "properties": { - "serialNumber": { - "description": "Serial number, as extracted from the certificate.", - "type": "string" - }, - "cert": { - "description": "PEM representation.", - "type": "string" - }, - "createTime": { - "description": "Output only. The time when the certificate was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2020-05-18T00:00:00.094Z`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "expireTime": { - "description": "Output only. The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2020-05-18T00:00:00.094Z`.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "sha1Fingerprint": { - "description": "Sha1 Fingerprint of the certificate.", - "type": "string" - } - } - }, - "MaintenancePolicy": { - "id": "MaintenancePolicy", - "description": "Maintenance policy for an instance.", - "type": "object", - "properties": { - "createTime": { - "description": "Output only. The time when the policy was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "updateTime": { - "description": "Output only. The time when the policy was last updated.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "description": { - "description": "Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.", - "type": "string" - }, - "weeklyMaintenanceWindow": { - "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.", - "type": "array", - "items": { - "$ref": "WeeklyMaintenanceWindow" - } - } - } - }, - "WeeklyMaintenanceWindow": { - "id": "WeeklyMaintenanceWindow", - "description": "Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.", - "type": "object", - "properties": { - "day": { - "description": "Required. The day of week that maintenance updates occur.", - "type": "string", - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ] - }, - "startTime": { - "description": "Required. Start time of the window in UTC time.", - "$ref": "TimeOfDay" - }, - "duration": { - "description": "Output only. Duration of the maintenance window. The current window is fixed at 1 hour.", - "readOnly": true, - "type": "string", - "format": "google-duration" - } - } - }, - "MaintenanceSchedule": { - "id": "MaintenanceSchedule", - "description": "Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated.", - "type": "object", - "properties": { - "startTime": { - "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "canReschedule": { - "description": "If the scheduled maintenance can be rescheduled, default is true.", - "deprecated": true, - "type": "boolean" - }, - "scheduleDeadlineTime": { - "description": "Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "NodeInfo": { - "id": "NodeInfo", - "description": "Node specific properties.", - "type": "object", - "properties": { - "id": { - "description": "Output only. Node identifying string. e.g. 'node-0', 'node-1'", - "readOnly": true, - "type": "string" - }, - "zone": { - "description": "Output only. Location of the node.", - "readOnly": true, - "type": "string" - } - } - }, - "PersistenceConfig": { - "id": "PersistenceConfig", - "description": "Configuration of the persistence functionality.", - "type": "object", - "properties": { - "persistenceMode": { - "description": "Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "Persistence is disabled for the instance, and any existing snapshots are deleted.", - "RDB based Persistence is enabled." - ], - "enum": [ - "PERSISTENCE_MODE_UNSPECIFIED", - "DISABLED", - "RDB" - ] - }, - "rdbSnapshotPeriod": { - "description": "Optional. Period between RDB snapshots. Snapshots will be attempted every period starting from the provided snapshot start time. For example, a start time of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45, and 00:45 the next day, and so on. If not provided, TWENTY_FOUR_HOURS will be used as default.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "Snapshot every 1 hour.", - "Snapshot every 6 hours.", - "Snapshot every 12 hours.", - "Snapshot every 24 hours." - ], - "enum": [ - "SNAPSHOT_PERIOD_UNSPECIFIED", - "ONE_HOUR", - "SIX_HOURS", - "TWELVE_HOURS", - "TWENTY_FOUR_HOURS" - ] - }, - "rdbNextSnapshotTime": { - "description": "Output only. The next time that a snapshot attempt is scheduled to occur.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "rdbSnapshotStartTime": { - "description": "Optional. Date and time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", - "type": "string", - "format": "google-datetime" - } - } - }, - "InstanceAuthString": { - "id": "InstanceAuthString", - "description": "Instance AUTH string details.", - "type": "object", - "properties": { - "authString": { - "description": "AUTH string set on the instance.", - "type": "string" - } - } - }, - "UpgradeInstanceRequest": { - "id": "UpgradeInstanceRequest", - "description": "Request for UpgradeInstance.", - "type": "object", - "properties": { - "redisVersion": { - "description": "Required. Specifies the target version of Redis software to upgrade to.", - "type": "string" - } - } - }, - "ImportInstanceRequest": { - "id": "ImportInstanceRequest", - "description": "Request for Import.", - "type": "object", - "properties": { - "inputConfig": { - "description": "Required. Specify data to be imported.", - "$ref": "InputConfig" - } - } - }, - "InputConfig": { - "id": "InputConfig", - "description": "The input content", - "type": "object", - "properties": { - "gcsSource": { - "description": "Google Cloud Storage location where input content is located.", - "$ref": "GcsSource" - } - } - }, - "GcsSource": { - "id": "GcsSource", - "description": "The Cloud Storage location for the input content", - "type": "object", - "properties": { - "uri": { - "description": "Required. Source data URI. (e.g. 'gs://my_bucket/my_object').", - "type": "string" - } - } - }, - "ExportInstanceRequest": { - "id": "ExportInstanceRequest", - "description": "Request for Export.", - "type": "object", - "properties": { - "outputConfig": { - "description": "Required. Specify data to be exported.", - "$ref": "OutputConfig" - } - } - }, - "OutputConfig": { - "id": "OutputConfig", - "description": "The output content", - "type": "object", - "properties": { - "gcsDestination": { - "description": "Google Cloud Storage destination for output content.", - "$ref": "GcsDestination" - } - } - }, - "GcsDestination": { - "id": "GcsDestination", - "description": "The Cloud Storage location for the output content", - "type": "object", - "properties": { - "uri": { - "description": "Required. Data destination URI (e.g. 'gs://my_bucket/my_object'). Existing files will be overwritten.", - "type": "string" - } - } - }, - "FailoverInstanceRequest": { - "id": "FailoverInstanceRequest", - "description": "Request for Failover.", - "type": "object", - "properties": { - "dataProtectionMode": { - "description": "Optional. Available data protection modes that the user can choose. If it's unspecified, data protection mode will be LIMITED_DATA_LOSS by default.", - "type": "string", - "enumDescriptions": [ - "Defaults to LIMITED_DATA_LOSS if a data protection mode is not specified.", - "Instance failover will be protected with data loss control. More specifically, the failover will only be performed if the current replication offset diff between primary and replica is under a certain threshold.", - "Instance failover will be performed without data loss control." - ], - "enum": [ - "DATA_PROTECTION_MODE_UNSPECIFIED", - "LIMITED_DATA_LOSS", - "FORCE_DATA_LOSS" - ] - } - } - }, - "RescheduleMaintenanceRequest": { - "id": "RescheduleMaintenanceRequest", - "description": "Request for RescheduleMaintenance.", - "type": "object", - "properties": { - "rescheduleType": { - "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "If the user wants to schedule the maintenance to happen now.", - "If the user wants to use the existing maintenance policy to find the next available window.", - "If the user wants to reschedule the maintenance to a specific time." - ], - "enum": [ - "RESCHEDULE_TYPE_UNSPECIFIED", - "IMMEDIATE", - "NEXT_AVAILABLE_WINDOW", - "SPECIFIC_TIME" - ] - }, - "scheduleTime": { - "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", - "type": "string", - "format": "google-datetime" - } - } - }, - "ReconciliationOperationMetadata": { - "id": "ReconciliationOperationMetadata", - "description": "Operation metadata returned by the CLH during resource state reconciliation.", - "type": "object", - "properties": { - "deleteResource": { - "description": "DEPRECATED. Use exclusive_action instead.", - "deprecated": true, - "type": "boolean" - }, - "exclusiveAction": { - "description": "Excluisive action returned by the CLH.", - "type": "string", - "enumDescriptions": [ - "Unknown repair action.", - "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", - "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." - ], - "enumDeprecated": [ - false, - true, - false - ], - "enum": [ - "UNKNOWN_REPAIR_ACTION", - "DELETE", - "RETRY" - ] - } - } - }, - "DatabaseResourceFeed": { - "id": "DatabaseResourceFeed", - "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform.", - "type": "object", - "properties": { - "resourceId": { - "description": "Primary key associated with the Resource. resource_id is available in individual feed level as well.", - "deprecated": true, - "$ref": "DatabaseResourceId" - }, - "feedTimestamp": { - "description": "Required. Timestamp when feed is generated.", - "type": "string", - "format": "google-datetime" - }, - "feedType": { - "description": "Required. Type feed to be ingested into condor", - "type": "string", - "enumDescriptions": [ - "", - "Database resource metadata feed from control plane", - "Database resource monitoring data", - "Database resource security health signal data", - "Database resource recommendation signal data" - ], - "enum": [ - "FEEDTYPE_UNSPECIFIED", - "RESOURCE_METADATA", - "OBSERVABILITY_DATA", - "SECURITY_FINDING_DATA", - "RECOMMENDATION_SIGNAL_DATA" - ] - }, - "resourceMetadata": { - "$ref": "DatabaseResourceMetadata" - }, - "resourceHealthSignalData": { - "$ref": "DatabaseResourceHealthSignalData" - }, - "recommendationSignalData": { - "$ref": "DatabaseResourceRecommendationSignalData" - }, - "observabilityMetricData": { - "$ref": "ObservabilityMetricData" - } - } - }, - "DatabaseResourceId": { - "id": "DatabaseResourceId", - "description": "DatabaseResourceId will serve as primary key for any resource ingestion event.", - "type": "object", - "properties": { - "provider": { - "description": "Required. Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", - "type": "string", - "enumDescriptions": [ - "", - "Google cloud platform provider", - "Amazon web service", - "Azure web service", - "On-prem database resources.", - "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", - "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." - ], - "enum": [ - "PROVIDER_UNSPECIFIED", - "GCP", - "AWS", - "AZURE", - "ONPREM", - "SELFMANAGED", - "PROVIDER_OTHER" - ] - }, - "providerDescription": { - "description": "Optional. Needs to be used only when the provider is PROVIDER_OTHER.", - "type": "string" - }, - "uniqueId": { - "description": "Required. A service-local token that distinguishes this resource from other resources within the same service.", - "type": "string" - }, - "resourceType": { - "description": "Required. The type of resource this ID is identifying. Ex redis.googleapis.com/Instance, redis.googleapis.com/Cluster, alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance, spanner.googleapis.com/Database, firestore.googleapis.com/Database, sqladmin.googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel", - "type": "string" - } - } - }, - "DatabaseResourceMetadata": { - "id": "DatabaseResourceMetadata", - "description": "Common model for database resource instance metadata. Next ID: 25", - "type": "object", - "properties": { - "id": { - "description": "Required. Unique identifier for a Database resource", - "$ref": "DatabaseResourceId" - }, - "resourceName": { - "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", - "type": "string" - }, - "primaryResourceId": { - "description": "Identifier for this resource's immediate parent/primary resource if the current resource is a replica or derived form of another Database resource. Else it would be NULL. REQUIRED if the immediate parent exists when first time resource is getting ingested, otherwise optional.", - "$ref": "DatabaseResourceId" - }, - "primaryResourceLocation": { - "description": "Primary resource location. REQUIRED if the immediate parent exists when first time resource is getting ingested, otherwise optional.", - "type": "string" - }, - "resourceContainer": { - "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", - "type": "string" - }, - "location": { - "description": "The resource location. REQUIRED", - "type": "string" - }, - "creationTime": { - "description": "The creation time of the resource, i.e. the time when resource is created and recorded in partner service.", - "type": "string", - "format": "google-datetime" - }, - "updationTime": { - "description": "The time at which the resource was updated and recorded at partner service.", - "type": "string", - "format": "google-datetime" - }, - "expectedState": { - "description": "The state that the instance is expected to be in. For example, an instance state can transition to UNHEALTHY due to wrong patch update, while the expected state will remain at the HEALTHY.", - "type": "string", - "enumDescriptions": [ - "", - "The instance is running.", - "Instance being created, updated, deleted or under maintenance", - "When instance is suspended", - "Instance is deleted.", - "For rest of the other category" - ], - "enum": [ - "STATE_UNSPECIFIED", - "HEALTHY", - "UNHEALTHY", - "SUSPENDED", - "DELETED", - "STATE_OTHER" - ] - }, - "currentState": { - "description": "Current state of the instance.", - "type": "string", - "enumDescriptions": [ - "", - "The instance is running.", - "Instance being created, updated, deleted or under maintenance", - "When instance is suspended", - "Instance is deleted.", - "For rest of the other category" - ], - "enum": [ - "STATE_UNSPECIFIED", - "HEALTHY", - "UNHEALTHY", - "SUSPENDED", - "DELETED", - "STATE_OTHER" - ] - }, - "instanceType": { - "description": "The type of the instance. Specified at creation time.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "For rest of the other categories.", - "A regular primary database instance.", - "A cluster or an instance acting as a secondary.", - "An instance acting as a read-replica.", - "For rest of the other categories.", - "A regular primary database instance.", - "A cluster or an instance acting as a secondary.", - "An instance acting as a read-replica.", - "An instance acting as an external primary.", - "For rest of the other categories." - ], - "enumDeprecated": [ - true, - false, - true, - true, - true, - true, - false, - false, - false, - false, - false - ], - "enum": [ - "INSTANCE_TYPE_UNSPECIFIED", - "SUB_RESOURCE_TYPE_UNSPECIFIED", - "PRIMARY", - "SECONDARY", - "READ_REPLICA", - "OTHER", - "SUB_RESOURCE_TYPE_PRIMARY", - "SUB_RESOURCE_TYPE_SECONDARY", - "SUB_RESOURCE_TYPE_READ_REPLICA", - "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY", - "SUB_RESOURCE_TYPE_OTHER" - ] - }, - "product": { - "description": "The product this resource represents.", - "$ref": "Product" - }, - "availabilityConfiguration": { - "description": "Availability configuration for this instance", - "$ref": "AvailabilityConfiguration" - }, - "backupConfiguration": { - "description": "Backup configuration for this instance", - "$ref": "BackupConfiguration" - }, - "backupRun": { - "description": "Latest backup run information for this instance", - "$ref": "BackupRun" - }, - "customMetadata": { - "description": "Any custom metadata associated with the resource", - "$ref": "CustomMetadataData" - }, - "entitlements": { - "description": "Entitlements associated with the resource", - "type": "array", - "items": { - "$ref": "Entitlement" - } - }, - "userLabelSet": { - "description": "User-provided labels associated with the resource", - "$ref": "UserLabels" - }, - "machineConfiguration": { - "description": "Machine configuration for this resource.", - "$ref": "MachineConfiguration" - }, - "tagsSet": { - "description": "Optional. Tags associated with this resources.", - "$ref": "Tags" - }, - "edition": { - "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", - "type": "string", - "enumDescriptions": [ - "Default, to make it consistent with instance edition enum.", - "Represents the enterprise edition.", - "Represents the enterprise plus edition." - ], - "enum": [ - "EDITION_UNSPECIFIED", - "EDITION_ENTERPRISE", - "EDITION_ENTERPRISE_PLUS" - ] - }, - "suspensionReason": { - "description": "Optional. Suspension reason for the resource.", - "type": "string", - "enumDescriptions": [ - "Suspension reason is unspecified.", - "Wipeout hide event.", - "Wipeout purge event.", - "Billing disabled for project", - "Abuse detected for resource", - "Encryption key inaccessible.", - "Replicated cluster encryption key inaccessible." - ], - "enum": [ - "SUSPENSION_REASON_UNSPECIFIED", - "WIPEOUT_HIDE_EVENT", - "WIPEOUT_PURGE_EVENT", - "BILLING_DISABLED", - "ABUSER_DETECTED", - "ENCRYPTION_KEY_INACCESSIBLE", - "REPLICATED_CLUSTER_ENCRYPTION_KEY_INACCESSIBLE" - ] - }, - "gcbdrConfiguration": { - "description": "GCBDR configuration for the resource.", - "$ref": "GCBDRConfiguration" - } - } - }, - "Product": { - "id": "Product", - "description": "Product specification for Condor resources.", - "type": "object", - "properties": { - "type": { - "description": "Type of specific database product. It could be CloudSQL, AlloyDB etc..", - "type": "string", - "enumDescriptions": [ - "UNSPECIFIED means product type is not known or available.", - "Cloud SQL product area in GCP", - "Cloud SQL product area in GCP", - "AlloyDB product area in GCP", - "AlloyDB product area in GCP", - "Spanner product area in GCP", - "On premises database product.", - "On premises database product.", - "Memorystore product area in GCP", - "Bigtable product area in GCP", - "Other refers to rest of other product type. This is to be when product type is known, but it is not present in this enum.", - "Firestore product area in GCP." - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - false, - false, - true, - false, - false, - false, - false - ], - "enum": [ - "PRODUCT_TYPE_UNSPECIFIED", - "PRODUCT_TYPE_CLOUD_SQL", - "CLOUD_SQL", - "PRODUCT_TYPE_ALLOYDB", - "ALLOYDB", - "PRODUCT_TYPE_SPANNER", - "PRODUCT_TYPE_ON_PREM", - "ON_PREM", - "PRODUCT_TYPE_MEMORYSTORE", - "PRODUCT_TYPE_BIGTABLE", - "PRODUCT_TYPE_OTHER", - "PRODUCT_TYPE_FIRESTORE" - ] - }, - "engine": { - "description": "The specific engine that the underlying database is running.", - "type": "string", - "enumDescriptions": [ - "UNSPECIFIED means engine type is not known or available.", - "MySQL binary running as an engine in the database instance.", - "MySQL binary running as engine in database instance.", - "Postgres binary running as engine in database instance.", - "Postgres binary running as engine in database instance.", - "SQLServer binary running as engine in database instance.", - "SQLServer binary running as engine in database instance.", - "Native database binary running as engine in instance.", - "Native database binary running as engine in instance.", - "Cloud Spanner with PostgreSQL dialect.", - "Cloud Spanner with Google SQL dialect.", - "Memorystore with Redis dialect.", - "Memorystore with Redis cluster dialect.", - "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", - "Firestore with native mode.", - "Firestore with datastore mode." - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "enum": [ - "ENGINE_UNSPECIFIED", - "ENGINE_MYSQL", - "MYSQL", - "ENGINE_POSTGRES", - "POSTGRES", - "ENGINE_SQL_SERVER", - "SQL_SERVER", - "ENGINE_NATIVE", - "NATIVE", - "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT", - "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", - "ENGINE_MEMORYSTORE_FOR_REDIS", - "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", - "ENGINE_OTHER", - "ENGINE_FIRESTORE_WITH_NATIVE_MODE", - "ENGINE_FIRESTORE_WITH_DATASTORE_MODE" - ] - }, - "version": { - "description": "Version of the underlying database engine. Example values: For MySQL, it could be \"8.0\", \"5.7\" etc.. For Postgres, it could be \"14\", \"15\" etc..", - "type": "string" - } - } - }, - "AvailabilityConfiguration": { - "id": "AvailabilityConfiguration", - "description": "Configuration for availability of database instance", - "type": "object", - "properties": { - "availabilityType": { - "description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available).", - "type": "string", - "enumDescriptions": [ - "", - "Zonal available instance.", - "Regional available instance.", - "Multi regional instance", - "For rest of the other category" - ], - "enum": [ - "AVAILABILITY_TYPE_UNSPECIFIED", - "ZONAL", - "REGIONAL", - "MULTI_REGIONAL", - "AVAILABILITY_TYPE_OTHER" - ] - }, - "externalReplicaConfigured": { - "type": "boolean" - }, - "promotableReplicaConfigured": { - "type": "boolean" - }, - "crossRegionReplicaConfigured": { - "description": "Checks for resources that are configured to have redundancy, and ongoing replication across regions", - "type": "boolean" - }, - "automaticFailoverRoutingConfigured": { - "description": "Checks for existence of (multi-cluster) routing configuration that allows automatic failover to a different zone/region in case of an outage. Applicable to Bigtable resources.", - "type": "boolean" - } - } - }, - "BackupConfiguration": { - "id": "BackupConfiguration", - "description": "Configuration for automatic backups", - "type": "object", - "properties": { - "automatedBackupEnabled": { - "description": "Whether customer visible automated backups are enabled on the instance.", - "type": "boolean" - }, - "backupRetentionSettings": { - "description": "Backup retention settings.", - "$ref": "RetentionSettings" - }, - "pointInTimeRecoveryEnabled": { - "description": "Whether point-in-time recovery is enabled. This is optional field, if the database service does not have this feature or metadata is not available in control plane, this can be omitted.", - "type": "boolean" - } - } - }, - "RetentionSettings": { - "id": "RetentionSettings", - "type": "object", - "properties": { - "retentionUnit": { - "description": "The unit that 'retained_backups' represents.", - "deprecated": true, - "type": "string", - "enumDescriptions": [ - "Backup retention unit is unspecified, will be treated as COUNT.", - "Retention will be by count, eg. \"retain the most recent 7 backups\".", - "Retention will be by Time, eg. \"retain backups till a specific time\" i.e. till 2024-05-01T00:00:00Z.", - "Retention will be by duration, eg. \"retain the backups for 172800 seconds (2 days)\".", - "For rest of the other category" - ], - "enum": [ - "RETENTION_UNIT_UNSPECIFIED", - "COUNT", - "TIME", - "DURATION", - "RETENTION_UNIT_OTHER" - ] - }, - "timeBasedRetention": { - "type": "string", - "format": "google-duration" - }, - "quantityBasedRetention": { - "type": "integer", - "format": "int32" - }, - "durationBasedRetention": { - "description": "Duration based retention period i.e. 172800 seconds (2 days)", - "type": "string", - "format": "google-duration" - }, - "timestampBasedRetentionTime": { - "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", - "type": "string", - "format": "google-datetime" - } - } - }, - "BackupRun": { - "id": "BackupRun", - "description": "A backup run.", - "type": "object", - "properties": { - "startTime": { - "description": "The time the backup operation started. REQUIRED", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "The time the backup operation completed. REQUIRED", - "type": "string", - "format": "google-datetime" - }, - "status": { - "description": "The status of this run. REQUIRED", - "type": "string", - "enumDescriptions": [ - "", - "The backup was successful.", - "The backup was unsuccessful." - ], - "enum": [ - "STATUS_UNSPECIFIED", - "SUCCESSFUL", - "FAILED" - ] - }, - "error": { - "description": "Information about why the backup operation failed. This is only present if the run has the FAILED status. OPTIONAL", - "$ref": "OperationError" - } - } - }, - "OperationError": { - "id": "OperationError", - "description": "An error that occurred during a backup creation operation.", - "type": "object", - "properties": { - "code": { - "description": "Identifies the specific error that occurred. REQUIRED", - "type": "string" - }, - "message": { - "description": "Additional information about the error encountered. REQUIRED", - "type": "string" - }, - "errorType": { - "type": "string", - "enumDescriptions": [ - "UNSPECIFIED means product type is not known or available.", - "key destroyed, expired, not found, unreachable or permission denied.", - "Database is not accessible", - "The zone or region does not have sufficient resources to handle the request at the moment", - "User initiated cancellation", - "SQL server specific error", - "Any other internal error." - ], - "enum": [ - "OPERATION_ERROR_TYPE_UNSPECIFIED", - "KMS_KEY_ERROR", - "DATABASE_ERROR", - "STOCKOUT_ERROR", - "CANCELLATION_ERROR", - "SQLSERVER_ERROR", - "INTERNAL_ERROR" - ] - } - } - }, - "CustomMetadataData": { - "id": "CustomMetadataData", - "description": "Any custom metadata associated with the resource. e.g. A spanner instance can have multiple databases with its own unique metadata. Information for these individual databases can be captured in custom metadata data", - "type": "object", - "properties": { - "internalResourceMetadata": { - "description": "Metadata for individual internal resources in an instance. e.g. spanner instance can have multiple databases with unique configuration.", - "type": "array", - "items": { - "$ref": "InternalResourceMetadata" - } - } - } - }, - "InternalResourceMetadata": { - "id": "InternalResourceMetadata", - "description": "Metadata for individual internal resources in an instance. e.g. spanner instance can have multiple databases with unique configuration settings. Similarly bigtable can have multiple clusters within same bigtable instance.", - "type": "object", - "properties": { - "resourceId": { - "$ref": "DatabaseResourceId" - }, - "resourceName": { - "description": "Required. internal resource name for spanner this will be database name e.g.\"spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1\"", - "type": "string" - }, - "product": { - "$ref": "Product" - }, - "backupConfiguration": { - "description": "Backup configuration for this database", - "$ref": "BackupConfiguration" - }, - "backupRun": { - "description": "Information about the last backup attempt for this database", - "$ref": "BackupRun" - }, - "isDeletionProtectionEnabled": { - "description": "Whether deletion protection is enabled for this internal resource.", - "type": "boolean" - } - } - }, - "Entitlement": { - "id": "Entitlement", - "description": "Proto representing the access that a user has to a specific feature/service. NextId: 3.", - "type": "object", - "properties": { - "type": { - "description": "An enum that represents the type of this entitlement.", - "type": "string", - "enumDescriptions": [ - "The entitlement type is unspecified.", - "The root entitlement representing Gemini package ownership.This will no longer be supported in the future.", - "The entitlement representing Native Tier, This will be the default Entitlement going forward with GCA Enablement.", - "The entitlement representing GCA-Standard Tier." - ], - "enumDeprecated": [ - false, - true, - false, - false - ], - "enum": [ - "ENTITLEMENT_TYPE_UNSPECIFIED", - "GEMINI", - "NATIVE", - "GCA_STANDARD" - ] - }, - "entitlementState": { - "description": "The current state of user's accessibility to a feature/benefit.", - "type": "string", - "enumDescriptions": [ - "", - "User is entitled to a feature/benefit, but whether it has been successfully provisioned is decided by provisioning state.", - "User is entitled to a feature/benefit, but it was requested to be revoked. Whether the revoke has been successful is decided by provisioning state." - ], - "enum": [ - "ENTITLEMENT_STATE_UNSPECIFIED", - "ENTITLED", - "REVOKED" - ] - } - } - }, - "UserLabels": { - "id": "UserLabels", - "description": "Message type for storing user labels. User labels are used to tag App Engine resources, allowing users to search for resources matching a set of labels and to aggregate usage data by labels.", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "MachineConfiguration": { - "id": "MachineConfiguration", - "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", - "type": "object", - "properties": { - "cpuCount": { - "description": "The number of CPUs. Deprecated. Use vcpu_count instead. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", - "deprecated": true, - "type": "integer", - "format": "int32" - }, - "memorySizeInBytes": { - "description": "Memory size in bytes. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", - "type": "string", - "format": "int64" - }, - "shardCount": { - "description": "Optional. Number of shards (if applicable).", - "type": "integer", - "format": "int32" - }, - "vcpuCount": { - "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", - "type": "number", - "format": "double" - } - } - }, - "Tags": { - "id": "Tags", - "description": "Message type for storing tags. Tags provide a way to create annotations for resources, and in some cases conditionally allow or deny policies based on whether a resource has a specific tag.", - "type": "object", - "properties": { - "tags": { - "description": "The Tag key/value mappings.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "GCBDRConfiguration": { - "id": "GCBDRConfiguration", - "description": "GCBDR Configuration for the resource.", - "type": "object", - "properties": { - "gcbdrManaged": { - "description": "Whether the resource is managed by GCBDR.", - "type": "boolean" - } - } - }, - "DatabaseResourceHealthSignalData": { - "id": "DatabaseResourceHealthSignalData", - "description": "Common model for database resource health signal data.", - "type": "object", - "properties": { - "signalId": { - "description": "Required. Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a signal.", - "type": "string" - }, - "name": { - "description": "Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc.", - "type": "string" - }, - "externalUri": { - "description": "The external-uri of the signal, using which more information about this signal can be obtained. In GCP, this will take user to SCC page to get more details about signals.", - "type": "string" - }, - "resourceName": { - "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", - "type": "string" - }, - "provider": { - "description": "Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", - "type": "string", - "enumDescriptions": [ - "", - "Google cloud platform provider", - "Amazon web service", - "Azure web service", - "On-prem database resources.", - "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", - "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." - ], - "enum": [ - "PROVIDER_UNSPECIFIED", - "GCP", - "AWS", - "AZURE", - "ONPREM", - "SELFMANAGED", - "PROVIDER_OTHER" - ] - }, - "resourceContainer": { - "description": "Closest parent container of this resource. In GCP, 'container' refers to a Cloud Resource Manager project. It must be resource name of a Cloud Resource Manager project with the format of \"provider//\", such as \"projects/123\". For GCP provided resources, number should be project number.", - "type": "string" - }, - "description": { - "description": "Description associated with signal", - "type": "string" - }, - "eventTime": { - "description": "Required. The last time at which the event described by this signal took place", - "type": "string", - "format": "google-datetime" - }, - "state": { - "type": "string", - "enumDescriptions": [ - "Unspecified state.", - "The signal requires attention and has not been addressed yet.", - "The signal has been fixed, triaged as a non-issue or otherwise addressed and is no longer active.", - "The signal has been muted." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "RESOLVED", - "MUTED" - ] - }, - "signalClass": { - "description": "Required. The class of the signal, such as if it's a THREAT or VULNERABILITY.", - "type": "string", - "enumDescriptions": [ - "Unspecified signal class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality." - ], - "enum": [ - "CLASS_UNSPECIFIED", - "THREAT", - "VULNERABILITY", - "MISCONFIGURATION", - "OBSERVATION", - "ERROR" - ] - }, - "signalSeverity": { - "description": "The severity of the signal, such as if it's a HIGH or LOW severity.", - "type": "string", - "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "A critical vulnerability is easily discoverable by an external actor, exploitable.", - "A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities.", - "A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually gain access and the ability to execute arbitrary code or exfiltrate data.", - "A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment." - ], - "enum": [ - "SIGNAL_SEVERITY_UNSPECIFIED", - "CRITICAL", - "HIGH", - "MEDIUM", - "LOW" - ] - }, - "compliance": { - "description": "Industry standards associated with this signal; if this signal is an issue, that could be a violation of the associated industry standard(s). For example, AUTO_BACKUP_DISABLED signal is associated with CIS GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 and ISO-27001 compliance standards. If a database resource does not have automated backup enable, it will violate these following industry standards.", - "type": "array", - "items": { - "$ref": "Compliance" - } - }, - "additionalMetadata": { - "description": "Any other additional metadata", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - }, - "signalType": { - "description": "Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.", - "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.", - "Represents if the resource is available in multiple zones or not.", - "Represents if a resource is available in multiple regions.", - "Represents if a resource has a promotable replica.", - "Represents if a resource has an automated backup policy.", - "Represents if a resources has a short backup retention period.", - "Represents if the last backup of a resource failed.", - "Represents if the last backup of a resource is older than some threshold value.", - "Represents if a resource violates CIS GCP Foundation 2.0.", - "Represents if a resource violates CIS GCP Foundation 1.3.", - "Represents if a resource violates CIS GCP Foundation 1.2.", - "Represents if a resource violates CIS GCP Foundation 1.1.", - "Represents if a resource violates CIS GCP Foundation 1.0.", - "Represents if a resource violates CIS Controls 8.0.", - "Represents if a resource violates NIST 800-53.", - "Represents if a resource violates NIST 800-53 R5.", - "Represents if a resource violates NIST Cybersecurity Framework 1.0.", - "Represents if a resource violates ISO-27001.", - "Represents if a resource violates ISO 27001 2022.", - "Represents if a resource violates PCI-DSS v3.2.1.", - "Represents if a resource violates PCI-DSS v4.0.", - "Represents if a resource violates Cloud Controls Matrix v4.0.", - "Represents if a resource violates HIPAA.", - "Represents if a resource violates SOC2 v2017.", - "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is not set to default or stricter (default or terse).", - "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.", - "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.", - "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.", - "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.", - "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).", - "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)", - "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.", - "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.", - "Represents if a resource is exposed to public access.", - "Represents if a resources requires all incoming connections to use SSL or not.", - "Represents if a Cloud SQL database has a password configured for the root account or not.", - "Represents if a Cloud SQL database has a weak password configured for the root account.", - "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).", - "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.", - "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.", - "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.", - "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.", - "Represents if public IP is enabled.", - "Represents Idle instance helps to reduce costs.", - "Represents instances that are unnecessarily large for given workload.", - "Represents high number of concurrently opened tables.", - "Represents high table count close to SLA limit.", - "Represents high number of unvacuumed transactions", - "Represents need for more CPU and/or memory", - "Represents out of disk.", - "Represents server certificate is near expiry.", - "Represents database auditing is disabled.", - "Represents not restricted to authorized networks.", - "Represents violate org policy restrict public ip.", - "Cluster nearing quota limit", - "No password policy set on resources", - "Performance impact of connections settings", - "Performance impact of temporary tables settings", - "Performance impact of transaction logs settings", - "Performance impact of high joins without indexes", - "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", - "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", - "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", - "Detects if a database instance is using a weak password hash algorithm.", - "Detects if a database instance has no user password policy set.", - "Detects if a database instance/cluster has a hot node.", - "Detects if a database instance has no point in time recovery enabled.", - "Detects if a database instance/cluster is suspended.", - "Detects that expensive commands are being run on a database instance impacting overall performance.", - "Indicates that the instance does not have a maintenance policy configured.", - "Deletion Protection Disabled for the resource", - "Indicates that the instance has inefficient queries detected." - ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enum": [ - "SIGNAL_TYPE_UNSPECIFIED", - "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", - "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", - "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", - "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", - "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", - "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY", - "SIGNAL_TYPE_SHORT_BACKUP_RETENTION", - "SIGNAL_TYPE_LAST_BACKUP_FAILED", - "SIGNAL_TYPE_LAST_BACKUP_OLD", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0", - "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0", - "SIGNAL_TYPE_VIOLATES_NIST_800_53", - "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5", - "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0", - "SIGNAL_TYPE_VIOLATES_ISO_27001", - "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022", - "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", - "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0", - "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4", - "SIGNAL_TYPE_VIOLATES_HIPAA", - "SIGNAL_TYPE_VIOLATES_SOC2_V2017", - "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING", - "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED", - "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING", - "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED", - "SIGNAL_TYPE_LOGGING_MOST_ERRORS", - "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS", - "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING", - "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", - "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", - "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", - "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES", - "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED", - "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED", - "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", - "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", - "SIGNAL_TYPE_NO_ROOT_PASSWORD", - "SIGNAL_TYPE_WEAK_ROOT_PASSWORD", - "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED", - "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED", - "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING", - "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS", - "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS", - "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED", - "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED", - "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO", - "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS", - "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED", - "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED", - "SIGNAL_TYPE_PUBLIC_IP_ENABLED", - "SIGNAL_TYPE_IDLE", - "SIGNAL_TYPE_OVERPROVISIONED", - "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES", - "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES", - "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION", - "SIGNAL_TYPE_UNDERPROVISIONED", - "SIGNAL_TYPE_OUT_OF_DISK", - "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY", - "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", - "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS", - "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP", - "SIGNAL_TYPE_QUOTA_LIMIT", - "SIGNAL_TYPE_NO_PASSWORD_POLICY", - "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", - "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", - "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", - "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", - "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", - "SIGNAL_TYPE_HOT_NODE", - "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", - "SIGNAL_TYPE_RESOURCE_SUSPENDED", - "SIGNAL_TYPE_EXPENSIVE_COMMANDS", - "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", - "SIGNAL_TYPE_NO_DELETION_PROTECTION", - "SIGNAL_TYPE_INEFFICIENT_QUERY" - ] - } - } - }, - "Compliance": { - "id": "Compliance", - "description": "Contains compliance information about a security standard indicating unmet recommendations.", - "type": "object", - "properties": { - "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", - "type": "string" - }, - "version": { - "description": "Version of the standard or benchmark, for example, 1.1", - "type": "string" - } - } - }, - "DatabaseResourceRecommendationSignalData": { - "id": "DatabaseResourceRecommendationSignalData", - "description": "Common model for database resource recommendation signal data.", - "type": "object", - "properties": { - "resourceName": { - "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", - "type": "string" - }, - "signalType": { - "description": "Required. Type of signal, for example, `SIGNAL_TYPE_IDLE`, `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.", - "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.", - "Represents if the resource is available in multiple zones or not.", - "Represents if a resource is available in multiple regions.", - "Represents if a resource has a promotable replica.", - "Represents if a resource has an automated backup policy.", - "Represents if a resources has a short backup retention period.", - "Represents if the last backup of a resource failed.", - "Represents if the last backup of a resource is older than some threshold value.", - "Represents if a resource violates CIS GCP Foundation 2.0.", - "Represents if a resource violates CIS GCP Foundation 1.3.", - "Represents if a resource violates CIS GCP Foundation 1.2.", - "Represents if a resource violates CIS GCP Foundation 1.1.", - "Represents if a resource violates CIS GCP Foundation 1.0.", - "Represents if a resource violates CIS Controls 8.0.", - "Represents if a resource violates NIST 800-53.", - "Represents if a resource violates NIST 800-53 R5.", - "Represents if a resource violates NIST Cybersecurity Framework 1.0.", - "Represents if a resource violates ISO-27001.", - "Represents if a resource violates ISO 27001 2022.", - "Represents if a resource violates PCI-DSS v3.2.1.", - "Represents if a resource violates PCI-DSS v4.0.", - "Represents if a resource violates Cloud Controls Matrix v4.0.", - "Represents if a resource violates HIPAA.", - "Represents if a resource violates SOC2 v2017.", - "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is not set to default or stricter (default or terse).", - "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.", - "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.", - "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.", - "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.", - "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).", - "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", - "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)", - "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.", - "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.", - "Represents if a resource is exposed to public access.", - "Represents if a resources requires all incoming connections to use SSL or not.", - "Represents if a Cloud SQL database has a password configured for the root account or not.", - "Represents if a Cloud SQL database has a weak password configured for the root account.", - "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).", - "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.", - "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", - "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.", - "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.", - "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.", - "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.", - "Represents if public IP is enabled.", - "Represents Idle instance helps to reduce costs.", - "Represents instances that are unnecessarily large for given workload.", - "Represents high number of concurrently opened tables.", - "Represents high table count close to SLA limit.", - "Represents high number of unvacuumed transactions", - "Represents need for more CPU and/or memory", - "Represents out of disk.", - "Represents server certificate is near expiry.", - "Represents database auditing is disabled.", - "Represents not restricted to authorized networks.", - "Represents violate org policy restrict public ip.", - "Cluster nearing quota limit", - "No password policy set on resources", - "Performance impact of connections settings", - "Performance impact of temporary tables settings", - "Performance impact of transaction logs settings", - "Performance impact of high joins without indexes", - "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", - "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", - "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", - "Detects if a database instance is using a weak password hash algorithm.", - "Detects if a database instance has no user password policy set.", - "Detects if a database instance/cluster has a hot node.", - "Detects if a database instance has no point in time recovery enabled.", - "Detects if a database instance/cluster is suspended.", - "Detects that expensive commands are being run on a database instance impacting overall performance.", - "Indicates that the instance does not have a maintenance policy configured.", - "Deletion Protection Disabled for the resource", - "Indicates that the instance has inefficient queries detected." - ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enum": [ - "SIGNAL_TYPE_UNSPECIFIED", - "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", - "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", - "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", - "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", - "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", - "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY", - "SIGNAL_TYPE_SHORT_BACKUP_RETENTION", - "SIGNAL_TYPE_LAST_BACKUP_FAILED", - "SIGNAL_TYPE_LAST_BACKUP_OLD", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1", - "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0", - "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0", - "SIGNAL_TYPE_VIOLATES_NIST_800_53", - "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5", - "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0", - "SIGNAL_TYPE_VIOLATES_ISO_27001", - "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022", - "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", - "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0", - "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4", - "SIGNAL_TYPE_VIOLATES_HIPAA", - "SIGNAL_TYPE_VIOLATES_SOC2_V2017", - "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING", - "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED", - "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING", - "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED", - "SIGNAL_TYPE_LOGGING_MOST_ERRORS", - "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS", - "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING", - "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", - "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", - "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", - "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", - "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES", - "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED", - "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED", - "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", - "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", - "SIGNAL_TYPE_NO_ROOT_PASSWORD", - "SIGNAL_TYPE_WEAK_ROOT_PASSWORD", - "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED", - "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED", - "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING", - "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS", - "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS", - "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED", - "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED", - "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO", - "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS", - "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED", - "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED", - "SIGNAL_TYPE_PUBLIC_IP_ENABLED", - "SIGNAL_TYPE_IDLE", - "SIGNAL_TYPE_OVERPROVISIONED", - "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES", - "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES", - "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION", - "SIGNAL_TYPE_UNDERPROVISIONED", - "SIGNAL_TYPE_OUT_OF_DISK", - "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY", - "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", - "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS", - "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP", - "SIGNAL_TYPE_QUOTA_LIMIT", - "SIGNAL_TYPE_NO_PASSWORD_POLICY", - "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", - "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", - "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", - "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", - "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", - "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", - "SIGNAL_TYPE_HOT_NODE", - "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", - "SIGNAL_TYPE_RESOURCE_SUSPENDED", - "SIGNAL_TYPE_EXPENSIVE_COMMANDS", - "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", - "SIGNAL_TYPE_NO_DELETION_PROTECTION", - "SIGNAL_TYPE_INEFFICIENT_QUERY" - ] - }, - "lastRefreshTime": { - "description": "Required. last time recommendationw as refreshed", - "type": "string", - "format": "google-datetime" - }, - "recommendationState": { - "description": "Required. Recommendation state", - "type": "string", - "enumDescriptions": [ - "", - "Recommendation is active and can be applied. ACTIVE recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", - "Recommendation is in claimed state. Recommendations content is immutable and cannot be updated by Google. CLAIMED recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", - "Recommendation is in succeeded state. Recommendations content is immutable and cannot be updated by Google. SUCCEEDED recommendations can be marked as SUCCEEDED, or FAILED.", - "Recommendation is in failed state. Recommendations content is immutable and cannot be updated by Google. FAILED recommendations can be marked as SUCCEEDED, or FAILED.", - "Recommendation is in dismissed state. Recommendation content can be updated by Google. DISMISSED recommendations can be marked as ACTIVE." - ], - "enum": [ - "UNSPECIFIED", - "ACTIVE", - "CLAIMED", - "SUCCEEDED", - "FAILED", - "DISMISSED" - ] - }, - "recommender": { - "description": "Required. Name of recommendation. Examples: organizations/1234/locations/us-central1/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations/9876", - "type": "string" - }, - "recommenderId": { - "description": "Required. ID of recommender. Examples: \"google.cloudsql.instance.PerformanceRecommender\"", - "type": "string" - }, - "recommenderSubtype": { - "description": "Required. Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = \"google.cloudsql.instance.PerformanceRecommender\", recommender_subtype can be \"MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE\"/\"POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION_BEST_PRACTICE\"", - "type": "string" - }, - "additionalMetadata": { - "description": "Optional. Any other additional metadata specific to recommendation", - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - } - } - } - }, - "ObservabilityMetricData": { - "id": "ObservabilityMetricData", - "type": "object", - "properties": { - "resourceName": { - "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", - "type": "string" - }, - "metricType": { - "description": "Required. Type of metric like CPU, Memory, etc.", - "type": "string", - "enumDescriptions": [ - "Unspecified metric type.", - "CPU utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", - "Memory utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", - "Number of network connections for a resource.", - "Storage utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", - "Sotrage used by a resource.", - "Node count for a resource. It represents the number of node units in a bigtable/spanner instance.", - "Memory used by a resource (in bytes).", - "Processing units used by a resource. It represents the number of processing units in a spanner instance." - ], - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "CPU_UTILIZATION", - "MEMORY_UTILIZATION", - "NETWORK_CONNECTIONS", - "STORAGE_UTILIZATION", - "STORAGE_USED_BYTES", - "NODE_COUNT", - "MEMORY_USED_BYTES", - "PROCESSING_UNIT_COUNT" - ] - }, - "aggregationType": { - "description": "Required. Type of aggregation performed on the metric.", - "type": "string", - "enumDescriptions": [ - "Unspecified aggregation type.", - "PEAK aggregation type.", - "P99 aggregation type.", - "P95 aggregation type.", - "current aggregation type." - ], - "enum": [ - "AGGREGATION_TYPE_UNSPECIFIED", - "PEAK", - "P99", - "P95", - "CURRENT" - ] - }, - "value": { - "description": "Required. Value of the metric type.", - "$ref": "TypedValue" - }, - "observationTime": { - "description": "Required. The time the metric value was observed.", - "type": "string", - "format": "google-datetime" - } - } - }, - "TypedValue": { - "id": "TypedValue", - "description": "TypedValue represents the value of a metric type. It can either be a double, an int64, a string or a bool.", - "type": "object", - "properties": { - "doubleValue": { - "description": "For double value", - "type": "number", - "format": "double" - }, - "int64Value": { - "description": "For integer value", - "type": "string", - "format": "int64" - }, - "stringValue": { - "description": "For string value", - "type": "string" - }, - "boolValue": { - "description": "For boolean value", - "type": "boolean" - } - } - }, - "OperationMetadata": { - "id": "OperationMetadata", - "description": "Pre-defined metadata fields.", - "type": "object", - "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - }, - "target": { - "description": "Output only. Server-defined resource path for the target of the operation.", - "readOnly": true, - "type": "string" - }, - "verb": { - "description": "Output only. Name of the verb executed by the operation.", - "readOnly": true, - "type": "string" - }, - "statusMessage": { - "description": "Output only. Human-readable status of the operation, if any.", - "readOnly": true, - "type": "string" - }, - "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - "readOnly": true, - "type": "boolean" - }, - "apiVersion": { - "description": "Output only. API version used to start the operation.", - "readOnly": true, - "type": "string" - } - } - }, - "GoogleCloudRedisV1OperationMetadata": { - "id": "GoogleCloudRedisV1OperationMetadata", - "description": "Represents the v1 metadata of the long-running operation.", - "type": "object", - "properties": { - "createTime": { - "description": "Creation timestamp.", - "type": "string", - "format": "google-datetime" - }, - "endTime": { - "description": "End timestamp.", - "type": "string", - "format": "google-datetime" - }, - "target": { - "description": "Operation target.", - "type": "string" - }, - "verb": { - "description": "Operation verb.", - "type": "string" - }, - "statusDetail": { - "description": "Operation status details.", - "type": "string" - }, - "cancelRequested": { - "description": "Specifies if cancellation was requested for the operation.", - "type": "boolean" - }, - "apiVersion": { - "description": "API version.", - "type": "string" - } - } - }, - "GoogleCloudRedisV1LocationMetadata": { - "id": "GoogleCloudRedisV1LocationMetadata", - "description": "This location metadata represents additional configuration options for a given location where a Redis instance may be created. All fields are output only. It is returned as content of the `google.cloud.location.Location.metadata` field.", - "type": "object", - "properties": { - "availableZones": { - "description": "Output only. The set of available zones in the location. The map is keyed by the lowercase ID of each zone, as defined by GCE. These keys can be specified in `location_id` or `alternative_location_id` fields when creating a Redis instance.", - "readOnly": true, - "type": "object", - "additionalProperties": { - "$ref": "GoogleCloudRedisV1ZoneMetadata" - } - } - } - }, - "GoogleCloudRedisV1ZoneMetadata": { - "id": "GoogleCloudRedisV1ZoneMetadata", - "description": "Defines specific information for a particular zone. Currently empty and reserved for future use only.", - "type": "object", - "properties": {} - } - }, - "version_module": true, - "batchPath": "batch", - "ownerName": "Google", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - } - } - } - }, - "mtlsRootUrl": "https://redis.mtls.googleapis.com/", - "basePath": "", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "documentationLink": "https://cloud.google.com/memorystore/docs/redis/", - "version": "v1", - "servicePath": "", - "fullyEncodeReservedExpansion": true, - "revision": "20250220", - "description": "Creates and manages Redis instances on the Google Cloud Platform.", - "ownerDomain": "google.com", - "canonicalName": "Cloud Redis", - "protocol": "rest", - "title": "Google Cloud Memorystore for Redis API", - "parameters": { - "access_token": { - "type": "string", - "description": "OAuth access token.", - "location": "query" - }, - "alt": { - "type": "string", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "callback": { - "type": "string", - "description": "JSONP", - "location": "query" - }, - "fields": { - "type": "string", - "description": "Selector specifying which fields to include in a partial response.", - "location": "query" - }, - "key": { - "type": "string", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query" - }, - "oauth_token": { - "type": "string", - "description": "OAuth 2.0 token for the current user.", - "location": "query" - }, - "prettyPrint": { - "type": "boolean", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "location": "query" - }, - "quotaUser": { - "type": "string", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query" - }, - "uploadType": { - "type": "string", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - } - }, - "id": "redis:v1", - "resources": { - "projects": { - "resources": { + "version_module": true, + "baseUrl": "https://redis.googleapis.com/", + "description": "Creates and manages Redis instances on the Google Cloud Platform.", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { "locations": { "methods": { "list": { @@ -3863,9 +36,15 @@ "type": "integer", "format": "int32" }, - "pageToken": { - "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + }, + "extraLocationTypes": { + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", + "repeated": true, "type": "string" } }, @@ -3937,6 +116,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "parameterOrder": [ @@ -4036,7 +220,7 @@ "httpMethod": "GET", "parameters": { "parent": { - "description": "Required. The resource name of the cluster location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region.", + "description": "Required. The resource name of the cluster location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path", "required": true, @@ -4072,7 +256,7 @@ "httpMethod": "GET", "parameters": { "name": { - "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "location": "path", "required": true, @@ -4136,7 +320,7 @@ "httpMethod": "DELETE", "parameters": { "name": { - "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "location": "path", "required": true, @@ -4166,7 +350,7 @@ "httpMethod": "POST", "parameters": { "parent": { - "description": "Required. The resource name of the cluster location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region.", + "description": "Required. The resource name of the cluster location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path", "required": true, @@ -4204,7 +388,7 @@ "httpMethod": "GET", "parameters": { "name": { - "description": "Required. Redis cluster certificate authority resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}/certificateAuthority` where `location_id` refers to a GCP region.", + "description": "Required. Redis cluster certificate authority resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}/certificateAuthority` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/certificateAuthority$", "location": "path", "required": true, @@ -4229,7 +413,7 @@ "httpMethod": "POST", "parameters": { "name": { - "description": "Required. Redis Cluster instance resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "description": "Required. Redis Cluster instance resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "location": "path", "required": true, @@ -4257,7 +441,7 @@ "httpMethod": "POST", "parameters": { "name": { - "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "location": "path", "required": true, @@ -4289,7 +473,7 @@ "httpMethod": "GET", "parameters": { "parent": { - "description": "Required. The resource name of the backupCollection location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region.", + "description": "Required. The resource name of the backupCollection location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path", "required": true, @@ -4325,7 +509,7 @@ "httpMethod": "GET", "parameters": { "name": { - "description": "Required. Redis backupCollection resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}` where `location_id` refers to a GCP region.", + "description": "Required. Redis backupCollection resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}` where `location_id` refers to a Google Cloud region.", "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+$", "location": "path", "required": true, @@ -4797,8 +981,4355 @@ } } }, + "name": "redis", + "protocol": "rest", + "batchPath": "batch", + "schemas": { + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "Operation" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Operation": { + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "metadata": { + "description": "{ `createTime`: The time the operation was created. `endTime`: The time the operation finished running. `target`: Server-defined resource path for the target of the operation. `verb`: Name of the verb executed by the operation. `statusDetail`: Human-readable status of the operation, if any. `cancelRequested`: Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. `apiVersion`: API version used to start the operation. }", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "response": { + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + }, + "Status": { + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + } + }, + "Empty": { + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "type": "object", + "properties": {} + }, + "ListLocationsResponse": { + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "Location" + } + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "Location": { + "id": "Location", + "description": "A resource that represents a Google Cloud location.", + "type": "object", + "properties": { + "name": { + "description": "Full resource name for the region. For example: \"projects/example-project/locations/us-east1\".", + "type": "string" + }, + "locationId": { + "description": "Resource ID for the region. For example: \"us-east1\".", + "type": "string" + }, + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "metadata": { + "description": "Output only. The set of available zones in the location. The map is keyed by the lowercase ID of each zone, as defined by Compute Engine. These keys can be specified in `location_id` or `alternative_location_id` fields when creating a Redis instance.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + } + } + }, + "ListClustersResponse": { + "id": "ListClustersResponse", + "description": "Response for ListClusters.", + "type": "object", + "properties": { + "clusters": { + "description": "A list of Redis clusters in the project in the specified location, or across all locations. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder Redis entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/clusters/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListClusters\".", + "type": "array", + "items": { + "$ref": "Cluster" + } + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Cluster": { + "id": "Cluster", + "description": "A cluster instance.", + "type": "object", + "properties": { + "gcsSource": { + "description": "Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects.", + "$ref": "GcsBackupSource" + }, + "managedBackupSource": { + "description": "Optional. Backups generated and managed by memorystore service.", + "$ref": "ManagedBackupSource" + }, + "name": { + "description": "Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp associated with the cluster creation request.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "state": { + "description": "Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Not set.", + "Redis cluster is being created.", + "Redis cluster has been created and is fully usable.", + "Redis cluster configuration is being updated.", + "Redis cluster is being deleted." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING" + ] + }, + "uid": { + "description": "Output only. System assigned, unique identifier for the cluster.", + "readOnly": true, + "type": "string" + }, + "replicaCount": { + "description": "Optional. The number of replica nodes per shard.", + "type": "integer", + "format": "int32" + }, + "authorizationMode": { + "description": "Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "IAM basic authorization mode", + "Authorization disabled mode" + ], + "enum": [ + "AUTH_MODE_UNSPECIFIED", + "AUTH_MODE_IAM_AUTH", + "AUTH_MODE_DISABLED" + ] + }, + "transitEncryptionMode": { + "description": "Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.", + "type": "string", + "enumDescriptions": [ + "In-transit encryption not set.", + "In-transit encryption disabled.", + "Use server managed encryption for in-transit encryption." + ], + "enum": [ + "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED", + "TRANSIT_ENCRYPTION_MODE_DISABLED", + "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION" + ] + }, + "sizeGb": { + "description": "Output only. Redis memory size in GB for the entire cluster rounded up to the next integer.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "shardCount": { + "description": "Optional. Number of shards for the Redis cluster.", + "type": "integer", + "format": "int32" + }, + "pscConfigs": { + "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", + "type": "array", + "items": { + "$ref": "PscConfig" + } + }, + "discoveryEndpoints": { + "description": "Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "DiscoveryEndpoint" + } + }, + "pscConnections": { + "description": "Output only. The list of PSC connections that are auto-created through service connectivity automation.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "PscConnection" + } + }, + "stateInfo": { + "description": "Output only. Additional information about the current state of the cluster.", + "readOnly": true, + "$ref": "StateInfo" + }, + "nodeType": { + "description": "Optional. The type of a redis node in the cluster. NodeType determines the underlying machine-type of a redis node.", + "type": "string", + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ] + }, + "persistenceConfig": { + "description": "Optional. Persistence config (RDB, AOF) for the cluster.", + "$ref": "ClusterPersistenceConfig" + }, + "redisConfigs": { + "description": "Optional. Key/Value pairs of customer overrides for mutable Redis Configs", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "preciseSizeGb": { + "description": "Output only. Precise value of redis memory size in GB for the entire cluster.", + "readOnly": true, + "type": "number", + "format": "double" + }, + "zoneDistributionConfig": { + "description": "Optional. This config will be used to determine how the customer wants us to distribute cluster resources within the region.", + "$ref": "ZoneDistributionConfig" + }, + "crossClusterReplicationConfig": { + "description": "Optional. Cross cluster replication config.", + "$ref": "CrossClusterReplicationConfig" + }, + "deletionProtectionEnabled": { + "description": "Optional. The delete operation will fail when the value is set to true.", + "type": "boolean" + }, + "maintenancePolicy": { + "description": "Optional. ClusterMaintenancePolicy determines when to allow or deny updates.", + "$ref": "ClusterMaintenancePolicy" + }, + "maintenanceSchedule": { + "description": "Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule.", + "readOnly": true, + "$ref": "ClusterMaintenanceSchedule" + }, + "satisfiesPzs": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "pscServiceAttachments": { + "description": "Output only. Service attachment details to configure Psc connections", + "readOnly": true, + "type": "array", + "items": { + "$ref": "PscServiceAttachment" + } + }, + "clusterEndpoints": { + "description": "Optional. A list of cluster endpoints.", + "type": "array", + "items": { + "$ref": "ClusterEndpoint" + } + }, + "simulateMaintenanceEvent": { + "description": "Optional. Input only. Simulate a maintenance event.", + "type": "boolean" + }, + "backupCollection": { + "description": "Optional. Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}", + "readOnly": true, + "type": "string" + }, + "kmsKey": { + "description": "Optional. The KMS key used to encrypt the at-rest data of the cluster.", + "type": "string" + }, + "ondemandMaintenance": { + "description": "Optional. Input only. Ondemand maintenance for the cluster. This field can be used to trigger ondemand critical update on the cluster.", + "deprecated": true, + "type": "boolean" + }, + "automatedBackupConfig": { + "description": "Optional. The automated backup config for the cluster.", + "$ref": "AutomatedBackupConfig" + }, + "encryptionInfo": { + "description": "Output only. Encryption information of the data at rest of the cluster.", + "readOnly": true, + "$ref": "EncryptionInfo" + }, + "asyncClusterEndpointsDeletionEnabled": { + "description": "Optional. If true, cluster endpoints that are created and registered by customers can be deleted asynchronously. That is, such a cluster endpoint can be de-registered before the forwarding rules in the cluster endpoint are deleted.", + "type": "boolean" + }, + "maintenanceVersion": { + "description": "Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.", + "type": "string" + }, + "effectiveMaintenanceVersion": { + "description": "Output only. This field represents the actual maintenance version of the cluster.", + "readOnly": true, + "type": "string" + }, + "availableMaintenanceVersions": { + "description": "Output only. This field is used to determine the available maintenance versions for the self service update.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "allowFewerZonesDeployment": { + "description": "Optional. Immutable. Deprecated, do not use.", + "deprecated": true, + "type": "boolean" + }, + "labels": { + "description": "Optional. Labels to represent user-provided metadata.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GcsBackupSource": { + "id": "GcsBackupSource", + "description": "Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.", + "type": "object", + "properties": { + "uris": { + "description": "Optional. URIs of the Cloud Storage objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ManagedBackupSource": { + "id": "ManagedBackupSource", + "description": "Backups that generated and managed by memorystore.", + "type": "object", + "properties": { + "backup": { + "description": "Optional. Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under redis.googleapis.com.", + "type": "string" + } + } + }, + "PscConfig": { + "id": "PscConfig", + "type": "object", + "properties": { + "network": { + "description": "Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_id}.", + "type": "string" + } + } + }, + "DiscoveryEndpoint": { + "id": "DiscoveryEndpoint", + "description": "Endpoints on each network, for Redis clients to connect to the cluster.", + "type": "object", + "properties": { + "address": { + "description": "Output only. Address of the exposed Redis endpoint used by clients to connect to the service. The address could be either IP or hostname.", + "readOnly": true, + "type": "string" + }, + "port": { + "description": "Output only. The port number of the exposed Redis endpoint.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "pscConfig": { + "description": "Output only. Customer configuration for where the endpoint is created and accessed from.", + "readOnly": true, + "$ref": "PscConfig" + } + } + }, + "PscConnection": { + "id": "PscConnection", + "description": "Details of consumer resources in a PSC connection.", + "type": "object", + "properties": { + "port": { + "description": "Output only. port will only be set for Primary/Reader or Discovery endpoint.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "pscConnectionId": { + "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", + "type": "string" + }, + "address": { + "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", + "type": "string" + }, + "forwardingRule": { + "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", + "type": "string" + }, + "projectId": { + "description": "Optional. Project ID of the consumer project where the forwarding rule is created in.", + "type": "string" + }, + "network": { + "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", + "type": "string" + }, + "serviceAttachment": { + "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", + "type": "string" + }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ] + }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ] + } + } + }, + "StateInfo": { + "id": "StateInfo", + "description": "Represents additional information about the state of the cluster.", + "type": "object", + "properties": { + "updateInfo": { + "description": "Describes ongoing update on the cluster when cluster state is UPDATING.", + "$ref": "UpdateInfo" + } + } + }, + "UpdateInfo": { + "id": "UpdateInfo", + "description": "Represents information about an updating cluster.", + "type": "object", + "properties": { + "targetShardCount": { + "description": "Target number of shards for redis cluster", + "type": "integer", + "format": "int32" + }, + "targetReplicaCount": { + "description": "Target number of replica nodes per shard.", + "type": "integer", + "format": "int32" + }, + "targetNodeType": { + "description": "Target node type for redis cluster.", + "type": "string", + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ] + } + } + }, + "ClusterPersistenceConfig": { + "id": "ClusterPersistenceConfig", + "description": "Configuration of the persistence functionality.", + "type": "object", + "properties": { + "mode": { + "description": "Optional. The mode of persistence.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "Persistence is disabled, and any snapshot data is deleted.", + "RDB based persistence is enabled.", + "AOF based persistence is enabled." + ], + "enum": [ + "PERSISTENCE_MODE_UNSPECIFIED", + "DISABLED", + "RDB", + "AOF" + ] + }, + "rdbConfig": { + "description": "Optional. RDB configuration. This field will be ignored if mode is not RDB.", + "$ref": "RDBConfig" + }, + "aofConfig": { + "description": "Optional. AOF configuration. This field will be ignored if mode is not AOF.", + "$ref": "AOFConfig" + } + } + }, + "RDBConfig": { + "id": "RDBConfig", + "description": "Configuration of the RDB based persistence.", + "type": "object", + "properties": { + "rdbSnapshotPeriod": { + "description": "Optional. Period between RDB snapshots.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "One hour.", + "Six hours.", + "Twelve hours.", + "Twenty four hours." + ], + "enum": [ + "SNAPSHOT_PERIOD_UNSPECIFIED", + "ONE_HOUR", + "SIX_HOURS", + "TWELVE_HOURS", + "TWENTY_FOUR_HOURS" + ] + }, + "rdbSnapshotStartTime": { + "description": "Optional. The time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", + "type": "string", + "format": "google-datetime" + } + } + }, + "AOFConfig": { + "id": "AOFConfig", + "description": "Configuration of the AOF based persistence.", + "type": "object", + "properties": { + "appendFsync": { + "description": "Optional. fsync configuration.", + "type": "string", + "enumDescriptions": [ + "Not set. Default: EVERYSEC", + "Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.", + "fsync every second. Fast enough, and you may lose 1 second of data if there is a disaster", + "fsync every time new write commands are appended to the AOF. It has the best data loss protection at the cost of performance" + ], + "enum": [ + "APPEND_FSYNC_UNSPECIFIED", + "NO", + "EVERYSEC", + "ALWAYS" + ] + } + } + }, + "ZoneDistributionConfig": { + "id": "ZoneDistributionConfig", + "description": "Zone distribution config for allocation of cluster resources.", + "type": "object", + "properties": { + "mode": { + "description": "Optional. The mode of zone distribution. Defaults to MULTI_ZONE, when not specified.", + "type": "string", + "enumDescriptions": [ + "Not Set. Default: MULTI_ZONE", + "Distribute all resources across 3 zones picked at random, within the region.", + "Distribute all resources in a single zone. The zone field must be specified, when this mode is selected." + ], + "enum": [ + "ZONE_DISTRIBUTION_MODE_UNSPECIFIED", + "MULTI_ZONE", + "SINGLE_ZONE" + ] + }, + "zone": { + "description": "Optional. When SINGLE ZONE distribution is selected, zone field would be used to allocate all resources in that zone. This is not applicable to MULTI_ZONE, and would be ignored for MULTI_ZONE clusters.", + "type": "string" + } + } + }, + "CrossClusterReplicationConfig": { + "id": "CrossClusterReplicationConfig", + "description": "Cross cluster replication config.", + "type": "object", + "properties": { + "clusterRole": { + "description": "Output only. The role of the cluster in cross cluster replication.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Cluster role is not set. The behavior is equivalent to NONE.", + "This cluster does not participate in cross cluster replication. It is an independent cluster and does not replicate to or from any other clusters.", + "A cluster that allows both reads and writes. Any data written to this cluster is also replicated to the attached secondary clusters.", + "A cluster that allows only reads and replicates data from a primary cluster." + ], + "enum": [ + "CLUSTER_ROLE_UNSPECIFIED", + "NONE", + "PRIMARY", + "SECONDARY" + ] + }, + "primaryCluster": { + "description": "Details of the primary cluster that is used as the replication source for this secondary cluster. This field is only set for a secondary cluster.", + "$ref": "RemoteCluster" + }, + "secondaryClusters": { + "description": "List of secondary clusters that are replicating from this primary cluster. This field is only set for a primary cluster.", + "type": "array", + "items": { + "$ref": "RemoteCluster" + } + }, + "updateTime": { + "description": "Output only. The last time cross cluster replication config was updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "membership": { + "description": "Output only. An output only view of all the member clusters participating in the cross cluster replication. This view will be provided by every member cluster irrespective of its cluster role(primary or secondary). A primary cluster can provide information about all the secondary clusters replicating from it. However, a secondary cluster only knows about the primary cluster from which it is replicating. However, for scenarios, where the primary cluster is unavailable(e.g. regional outage), a GetCluster request can be sent to any other member cluster and this field will list all the member clusters participating in cross cluster replication.", + "readOnly": true, + "$ref": "Membership" + } + } + }, + "RemoteCluster": { + "id": "RemoteCluster", + "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", + "type": "object", + "properties": { + "cluster": { + "description": "Output only. The full resource path of the remote cluster in the format: projects//locations//clusters/", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the remote cluster.", + "readOnly": true, + "type": "string" + } + } + }, + "Membership": { + "id": "Membership", + "description": "An output only view of all the member clusters participating in the cross cluster replication.", + "type": "object", + "properties": { + "primaryCluster": { + "description": "Output only. The primary cluster that acts as the source of replication for the secondary clusters.", + "readOnly": true, + "$ref": "RemoteCluster" + }, + "secondaryClusters": { + "description": "Output only. The list of secondary clusters replicating from the primary cluster.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "RemoteCluster" + } + } + } + }, + "ClusterMaintenancePolicy": { + "id": "ClusterMaintenancePolicy", + "description": "Maintenance policy per cluster.", + "type": "object", + "properties": { + "createTime": { + "description": "Output only. The time when the policy was created i.e. Maintenance Window or Deny Period was assigned.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. The time when the policy was updated i.e. Maintenance Window or Deny Period was updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "weeklyMaintenanceWindow": { + "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_window is expected to be one.", + "type": "array", + "items": { + "$ref": "ClusterWeeklyMaintenanceWindow" + } + } + } + }, + "ClusterWeeklyMaintenanceWindow": { + "id": "ClusterWeeklyMaintenanceWindow", + "description": "Time window specified for weekly operations.", + "type": "object", + "properties": { + "day": { + "description": "Optional. Allows to define schedule that runs specified day of the week.", + "type": "string", + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "startTime": { + "description": "Optional. Start time of the window in UTC.", + "$ref": "TimeOfDay" + } + } + }, + "TimeOfDay": { + "id": "TimeOfDay", + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", + "type": "object", + "properties": { + "hours": { + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "type": "integer", + "format": "int32" + }, + "minutes": { + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", + "type": "integer", + "format": "int32" + }, + "seconds": { + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", + "type": "integer", + "format": "int32" + }, + "nanos": { + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", + "type": "integer", + "format": "int32" + } + } + }, + "ClusterMaintenanceSchedule": { + "id": "ClusterMaintenanceSchedule", + "description": "Upcoming maintenance schedule.", + "type": "object", + "properties": { + "startTime": { + "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "PscServiceAttachment": { + "id": "PscServiceAttachment", + "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", + "type": "object", + "properties": { + "serviceAttachment": { + "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", + "readOnly": true, + "type": "string" + }, + "connectionType": { + "description": "Output only. Type of a PSC connection targeting this service attachment.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ] + } + } + }, + "ClusterEndpoint": { + "id": "ClusterEndpoint", + "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", + "type": "object", + "properties": { + "connections": { + "description": "Required. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "type": "array", + "items": { + "$ref": "ConnectionDetail" + } + } + } + }, + "ConnectionDetail": { + "id": "ConnectionDetail", + "description": "Detailed information of each PSC connection.", + "type": "object", + "properties": { + "pscAutoConnection": { + "description": "Detailed information of a PSC connection that is created through service connectivity automation.", + "$ref": "PscAutoConnection" + }, + "pscConnection": { + "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster.", + "$ref": "PscConnection" + } + } + }, + "PscAutoConnection": { + "id": "PscAutoConnection", + "description": "Details of consumer resources in a PSC connection that is created through Service Connectivity Automation.", + "type": "object", + "properties": { + "pscConnectionId": { + "description": "Output only. The PSC connection id of the forwarding rule connected to the service attachment.", + "readOnly": true, + "type": "string" + }, + "address": { + "description": "Output only. The IP allocated on the consumer network for the PSC forwarding rule.", + "readOnly": true, + "type": "string" + }, + "forwardingRule": { + "description": "Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", + "readOnly": true, + "type": "string" + }, + "projectId": { + "description": "Required. The consumer project_id where the forwarding rule is created from.", + "type": "string" + }, + "network": { + "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", + "readOnly": true, + "type": "string" + }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ] + }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ] + } + } + }, + "AutomatedBackupConfig": { + "id": "AutomatedBackupConfig", + "description": "The automated backup config for a cluster.", + "type": "object", + "properties": { + "fixedFrequencySchedule": { + "description": "Optional. Trigger automated backups at a fixed frequency.", + "$ref": "FixedFrequencySchedule" + }, + "automatedBackupMode": { + "description": "Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.", + "type": "string", + "enumDescriptions": [ + "Default value. Automated backup config is not specified.", + "Automated backup config disabled.", + "Automated backup config enabled." + ], + "enum": [ + "AUTOMATED_BACKUP_MODE_UNSPECIFIED", + "DISABLED", + "ENABLED" + ] + }, + "retention": { + "description": "Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.", + "type": "string", + "format": "google-duration" + } + } + }, + "FixedFrequencySchedule": { + "id": "FixedFrequencySchedule", + "description": "This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).", + "type": "object", + "properties": { + "startTime": { + "description": "Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required.", + "$ref": "TimeOfDay" + } + } + }, + "EncryptionInfo": { + "id": "EncryptionInfo", + "description": "EncryptionInfo describes the encryption information of a cluster or a backup.", + "type": "object", + "properties": { + "encryptionType": { + "description": "Output only. Type of encryption.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.", + "The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.", + "The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "GOOGLE_DEFAULT_ENCRYPTION", + "CUSTOMER_MANAGED_ENCRYPTION" + ] + }, + "kmsKeyVersions": { + "description": "Output only. KMS key versions that are being used to protect the data at-rest.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "kmsKeyPrimaryState": { + "description": "Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The default value. This value is unused.", + "The KMS key is enabled and correctly configured.", + "Permission denied on the KMS key.", + "The KMS key is disabled.", + "The KMS key is destroyed.", + "The KMS key is scheduled to be destroyed.", + "The EKM key is unreachable.", + "Billing is disabled for the project.", + "All other unknown failures." + ], + "enum": [ + "KMS_KEY_STATE_UNSPECIFIED", + "ENABLED", + "PERMISSION_DENIED", + "DISABLED", + "DESTROYED", + "DESTROY_SCHEDULED", + "EKM_KEY_UNREACHABLE_DETECTED", + "BILLING_DISABLED", + "UNKNOWN_FAILURE" + ] + }, + "lastUpdateTime": { + "description": "Output only. The most recent time when the encryption info was updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "CertificateAuthority": { + "id": "CertificateAuthority", + "description": "Redis cluster certificate authority", + "type": "object", + "properties": { + "managedServerCa": { + "$ref": "ManagedCertificateAuthority" + }, + "name": { + "description": "Identifier. Unique name of the resource in this scope including project, location and cluster using the form: `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthority`", + "type": "string" + } + } + }, + "ManagedCertificateAuthority": { + "id": "ManagedCertificateAuthority", + "type": "object", + "properties": { + "caCerts": { + "description": "The PEM encoded CA certificate chains for redis managed server authentication", + "type": "array", + "items": { + "$ref": "CertChain" + } + } + } + }, + "CertChain": { + "id": "CertChain", + "type": "object", + "properties": { + "certificates": { + "description": "The certificates that form the CA chain, from leaf to root order.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RescheduleClusterMaintenanceRequest": { + "id": "RescheduleClusterMaintenanceRequest", + "description": "Request for rescheduling a cluster maintenance.", + "type": "object", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "SPECIFIC_TIME" + ] + }, + "scheduleTime": { + "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "type": "string", + "format": "google-datetime" + } + } + }, + "ListBackupCollectionsResponse": { + "id": "ListBackupCollectionsResponse", + "description": "Response for [ListBackupCollections].", + "type": "object", + "properties": { + "backupCollections": { + "description": "A list of backupCollections in the project. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListBackupCollections\".", + "type": "array", + "items": { + "$ref": "BackupCollection" + } + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BackupCollection": { + "id": "BackupCollection", + "description": "BackupCollection of a cluster.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. Full resource path of the backup collection.", + "type": "string" + }, + "clusterUid": { + "description": "Output only. The cluster uid of the backup collection.", + "readOnly": true, + "type": "string" + }, + "cluster": { + "description": "Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project}/locations/{location}/clusters/{cluster}", + "readOnly": true, + "type": "string" + }, + "kmsKey": { + "description": "Output only. The KMS key used to encrypt the backups under this backup collection.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup collection.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup collection was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "totalBackupSizeBytes": { + "description": "Output only. Total size of all backups in the backup collection.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "totalBackupCount": { + "description": "Output only. Total number of backups in the backup collection.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "lastBackupTime": { + "description": "Output only. The last time a backup was created in the backup collection.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "ListBackupsResponse": { + "id": "ListBackupsResponse", + "description": "Response for [ListBackups].", + "type": "object", + "properties": { + "backups": { + "description": "A list of backups in the project.", + "type": "array", + "items": { + "$ref": "Backup" + } + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Backups that could not be reached.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Backup": { + "id": "Backup", + "description": "Backup of a cluster.", + "type": "object", + "properties": { + "name": { + "description": "Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "cluster": { + "description": "Output only. Cluster resource path of this backup.", + "readOnly": true, + "type": "string" + }, + "clusterUid": { + "description": "Output only. Cluster uid of this backup.", + "readOnly": true, + "type": "string" + }, + "totalSizeBytes": { + "description": "Output only. Total size of the backup in bytes.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "expireTime": { + "description": "Output only. The time when the backup will expire.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "engineVersion": { + "description": "Output only. redis-7.2, valkey-7.5", + "readOnly": true, + "type": "string" + }, + "backupFiles": { + "description": "Output only. List of backup files of the backup.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "BackupFile" + } + }, + "nodeType": { + "description": "Output only. Node type of the cluster.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ] + }, + "replicaCount": { + "description": "Output only. Number of replicas for the cluster.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "shardCount": { + "description": "Output only. Number of shards for the cluster.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "backupType": { + "description": "Output only. Type of the backup.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The default value, not set.", + "On-demand backup.", + "Automated backup." + ], + "enum": [ + "BACKUP_TYPE_UNSPECIFIED", + "ON_DEMAND", + "AUTOMATED" + ] + }, + "state": { + "description": "Output only. State of the backup.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "The default value, not set.", + "The backup is being created.", + "The backup is active to be used.", + "The backup is being deleted.", + "The backup is currently suspended due to reasons like project deletion, billing account closure, etc." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "SUSPENDED" + ] + }, + "encryptionInfo": { + "description": "Output only. Encryption information of the backup.", + "readOnly": true, + "$ref": "EncryptionInfo" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup.", + "readOnly": true, + "type": "string" + } + } + }, + "BackupFile": { + "id": "BackupFile", + "description": "Backup is consisted of multiple backup files.", + "type": "object", + "properties": { + "fileName": { + "description": "Output only. e.g: .rdb", + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "Output only. Size of the backup file in bytes.", + "readOnly": true, + "type": "string", + "format": "int64" + }, + "createTime": { + "description": "Output only. The time when the backup file was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "ExportBackupRequest": { + "id": "ExportBackupRequest", + "description": "Request for [ExportBackup].", + "type": "object", + "properties": { + "gcsBucket": { + "description": "Google Cloud Storage bucket, like \"my-bucket\".", + "type": "string" + } + } + }, + "BackupClusterRequest": { + "id": "BackupClusterRequest", + "description": "Request for [BackupCluster].", + "type": "object", + "properties": { + "ttl": { + "description": "Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years.", + "type": "string", + "format": "google-duration" + }, + "backupId": { + "description": "Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.", + "type": "string" + } + } + }, + "ListInstancesResponse": { + "id": "ListInstancesResponse", + "description": "Response for ListInstances.", + "type": "object", + "properties": { + "instances": { + "description": "A list of Redis instances in the project in the specified location, or across all locations. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder Redis entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/instances/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListInstances\".", + "type": "array", + "items": { + "$ref": "Instance" + } + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Instance": { + "id": "Instance", + "description": "A Memorystore for Redis instance.", + "type": "object", + "properties": { + "name": { + "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.", + "type": "string" + }, + "displayName": { + "description": "An arbitrary and optional user-provided name for the instance.", + "type": "string" + }, + "labels": { + "description": "Resource labels to represent user provided metadata", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "locationId": { + "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone from the specified region for the instance. For standard tier, additional nodes will be added across multiple zones for protection against zonal failures. If specified, at least one node will be provisioned in this zone.", + "type": "string" + }, + "alternativeLocationId": { + "description": "Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service.", + "type": "string" + }, + "redisVersion": { + "description": "Optional. The version of Redis software. If not provided, the default version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility * `REDIS_7_0` for Redis 7.0 compatibility (default) * `REDIS_7_2` for Redis 7.2 compatibility", + "type": "string" + }, + "reservedIpRange": { + "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28.", + "type": "string" + }, + "secondaryIpRange": { + "description": "Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or \"auto\". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address range associated with the private service access connection, or \"auto\".", + "type": "string" + }, + "host": { + "description": "Output only. Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service.", + "readOnly": true, + "type": "string" + }, + "port": { + "description": "Output only. The port number of the exposed Redis endpoint.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "currentLocationId": { + "description": "Output only. The current zone where the Redis primary node is located. In basic tier, this will always be the same as [location_id]. In standard tier, this can be the zone of any node in the instance.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "state": { + "description": "Output only. The current state of this instance.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Not set.", + "Redis instance is being created.", + "Redis instance has been created and is fully usable.", + "Redis instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", + "Redis instance is being deleted.", + "Redis instance is being repaired and may be unusable.", + "Maintenance is being performed on this Redis instance.", + "Redis instance is importing data (availability may be affected).", + "Redis instance is failing over (availability may be affected)." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "REPAIRING", + "MAINTENANCE", + "IMPORTING", + "FAILING_OVER" + ] + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this instance, if available.", + "readOnly": true, + "type": "string" + }, + "redisConfigs": { + "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tier": { + "description": "Required. The service tier of the instance.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "BASIC tier: standalone instance", + "STANDARD_HA tier: highly available primary/replica instances" + ], + "enum": [ + "TIER_UNSPECIFIED", + "BASIC", + "STANDARD_HA" + ] + }, + "memorySizeGb": { + "description": "Required. Redis memory size in GiB.", + "type": "integer", + "format": "int32" + }, + "authorizedNetwork": { + "description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.", + "type": "string" + }, + "persistenceIamIdentity": { + "description": "Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is \"serviceAccount:\". The value may change over time for a given instance so should be checked before each import/export operation.", + "readOnly": true, + "type": "string" + }, + "connectMode": { + "description": "Optional. The network connect mode of the Redis instance. If not provided, the connect mode defaults to DIRECT_PEERING.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "Connect via direct peering to the Memorystore for Redis hosted service.", + "Connect your Memorystore for Redis instance using Private Service Access. Private services access provides an IP address range for multiple Google Cloud services, including Memorystore." + ], + "enum": [ + "CONNECT_MODE_UNSPECIFIED", + "DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS" + ] + }, + "authEnabled": { + "description": "Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to \"true\" AUTH is enabled on the instance. Default value is \"false\" meaning AUTH is disabled.", + "type": "boolean" + }, + "serverCaCerts": { + "description": "Output only. List of server CA certificates for the instance.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "TlsCertificate" + } + }, + "transitEncryptionMode": { + "description": "Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "Client to Server traffic encryption enabled with server authentication.", + "TLS is disabled for the instance." + ], + "enum": [ + "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED", + "SERVER_AUTHENTICATION", + "DISABLED" + ] + }, + "maintenancePolicy": { + "description": "Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time.", + "$ref": "MaintenancePolicy" + }, + "maintenanceSchedule": { + "description": "Output only. Date and time of upcoming maintenance events which have been scheduled.", + "readOnly": true, + "$ref": "MaintenanceSchedule" + }, + "replicaCount": { + "description": "Optional. The number of replica nodes. The valid range for the Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled for a Standard Tier instance, the only valid value is 1 and the default is 1. The valid value for basic tier is 0 and the default is also 0.", + "type": "integer", + "format": "int32" + }, + "nodes": { + "description": "Output only. Info per node.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "NodeInfo" + } + }, + "readEndpoint": { + "description": "Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only. Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes will exhibit some lag behind the primary. Write requests must target 'host'.", + "readOnly": true, + "type": "string" + }, + "readEndpointPort": { + "description": "Output only. The port number of the exposed readonly redis endpoint. Standard tier only. Write requests should target 'port'.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "readReplicasMode": { + "description": "Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.", + "type": "string", + "enumDescriptions": [ + "If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.", + "If disabled, read endpoint will not be provided and the instance cannot scale up or down the number of replicas.", + "If enabled, read endpoint will be provided and the instance can scale up and down the number of replicas. Not valid for basic tier." + ], + "enum": [ + "READ_REPLICAS_MODE_UNSPECIFIED", + "READ_REPLICAS_DISABLED", + "READ_REPLICAS_ENABLED" + ] + }, + "customerManagedKey": { + "description": "Optional. The KMS key reference that the customer provides when trying to create the instance.", + "type": "string" + }, + "persistenceConfig": { + "description": "Optional. Persistence configuration parameters", + "$ref": "PersistenceConfig" + }, + "suspensionReasons": { + "description": "Optional. reasons that causes instance in \"SUSPENDED\" state.", + "type": "array", + "items": { + "type": "string", + "enumDescriptions": [ + "Not set.", + "Something wrong with the CMEK key provided by customer." + ], + "enum": [ + "SUSPENSION_REASON_UNSPECIFIED", + "CUSTOMER_MANAGED_KEY_ISSUE" + ] + } + }, + "maintenanceVersion": { + "description": "Optional. The self service update maintenance version. The version is date based such as \"20210712_00_00\".", + "type": "string" + }, + "availableMaintenanceVersions": { + "description": "Optional. The available maintenance versions that an instance could update to.", + "type": "array", + "items": { + "type": "string" + } + }, + "satisfiesPzs": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzi": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "tags": { + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TlsCertificate": { + "id": "TlsCertificate", + "description": "TlsCertificate Resource", + "type": "object", + "properties": { + "serialNumber": { + "description": "Serial number, as extracted from the certificate.", + "type": "string" + }, + "cert": { + "description": "PEM representation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the certificate was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2020-05-18T00:00:00.094Z`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "expireTime": { + "description": "Output only. The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2020-05-18T00:00:00.094Z`.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "sha1Fingerprint": { + "description": "Sha1 Fingerprint of the certificate.", + "type": "string" + } + } + }, + "MaintenancePolicy": { + "id": "MaintenancePolicy", + "description": "Maintenance policy for an instance.", + "type": "object", + "properties": { + "createTime": { + "description": "Output only. The time when the policy was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "updateTime": { + "description": "Output only. The time when the policy was last updated.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "description": { + "description": "Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.", + "type": "string" + }, + "weeklyMaintenanceWindow": { + "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.", + "type": "array", + "items": { + "$ref": "WeeklyMaintenanceWindow" + } + } + } + }, + "WeeklyMaintenanceWindow": { + "id": "WeeklyMaintenanceWindow", + "description": "Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.", + "type": "object", + "properties": { + "day": { + "description": "Required. The day of week that maintenance updates occur.", + "type": "string", + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "startTime": { + "description": "Required. Start time of the window in UTC time.", + "$ref": "TimeOfDay" + }, + "duration": { + "description": "Output only. Duration of the maintenance window. The current window is fixed at 1 hour.", + "readOnly": true, + "type": "string", + "format": "google-duration" + } + } + }, + "MaintenanceSchedule": { + "id": "MaintenanceSchedule", + "description": "Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated.", + "type": "object", + "properties": { + "startTime": { + "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "canReschedule": { + "description": "If the scheduled maintenance can be rescheduled, default is true.", + "deprecated": true, + "type": "boolean" + }, + "scheduleDeadlineTime": { + "description": "Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "NodeInfo": { + "id": "NodeInfo", + "description": "Node specific properties.", + "type": "object", + "properties": { + "id": { + "description": "Output only. Node identifying string. e.g. 'node-0', 'node-1'", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Location of the node.", + "readOnly": true, + "type": "string" + } + } + }, + "PersistenceConfig": { + "id": "PersistenceConfig", + "description": "Configuration of the persistence functionality.", + "type": "object", + "properties": { + "persistenceMode": { + "description": "Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "Persistence is disabled for the instance, and any existing snapshots are deleted.", + "RDB based Persistence is enabled." + ], + "enum": [ + "PERSISTENCE_MODE_UNSPECIFIED", + "DISABLED", + "RDB" + ] + }, + "rdbSnapshotPeriod": { + "description": "Optional. Period between RDB snapshots. Snapshots will be attempted every period starting from the provided snapshot start time. For example, a start time of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45, and 00:45 the next day, and so on. If not provided, TWENTY_FOUR_HOURS will be used as default.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "Snapshot every 1 hour.", + "Snapshot every 6 hours.", + "Snapshot every 12 hours.", + "Snapshot every 24 hours." + ], + "enum": [ + "SNAPSHOT_PERIOD_UNSPECIFIED", + "ONE_HOUR", + "SIX_HOURS", + "TWELVE_HOURS", + "TWENTY_FOUR_HOURS" + ] + }, + "rdbNextSnapshotTime": { + "description": "Output only. The next time that a snapshot attempt is scheduled to occur.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "rdbSnapshotStartTime": { + "description": "Optional. Date and time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", + "type": "string", + "format": "google-datetime" + } + } + }, + "InstanceAuthString": { + "id": "InstanceAuthString", + "description": "Instance AUTH string details.", + "type": "object", + "properties": { + "authString": { + "description": "AUTH string set on the instance.", + "type": "string" + } + } + }, + "UpgradeInstanceRequest": { + "id": "UpgradeInstanceRequest", + "description": "Request for UpgradeInstance.", + "type": "object", + "properties": { + "redisVersion": { + "description": "Required. Specifies the target version of Redis software to upgrade to.", + "type": "string" + } + } + }, + "ImportInstanceRequest": { + "id": "ImportInstanceRequest", + "description": "Request for Import.", + "type": "object", + "properties": { + "inputConfig": { + "description": "Required. Specify data to be imported.", + "$ref": "InputConfig" + } + } + }, + "InputConfig": { + "id": "InputConfig", + "description": "The input content", + "type": "object", + "properties": { + "gcsSource": { + "description": "Google Cloud Storage location where input content is located.", + "$ref": "GcsSource" + } + } + }, + "GcsSource": { + "id": "GcsSource", + "description": "The Cloud Storage location for the input content", + "type": "object", + "properties": { + "uri": { + "description": "Required. Source data URI. (e.g. 'gs://my_bucket/my_object').", + "type": "string" + } + } + }, + "ExportInstanceRequest": { + "id": "ExportInstanceRequest", + "description": "Request for Export.", + "type": "object", + "properties": { + "outputConfig": { + "description": "Required. Specify data to be exported.", + "$ref": "OutputConfig" + } + } + }, + "OutputConfig": { + "id": "OutputConfig", + "description": "The output content", + "type": "object", + "properties": { + "gcsDestination": { + "description": "Google Cloud Storage destination for output content.", + "$ref": "GcsDestination" + } + } + }, + "GcsDestination": { + "id": "GcsDestination", + "description": "The Cloud Storage location for the output content", + "type": "object", + "properties": { + "uri": { + "description": "Required. Data destination URI (e.g. 'gs://my_bucket/my_object'). Existing files will be overwritten.", + "type": "string" + } + } + }, + "FailoverInstanceRequest": { + "id": "FailoverInstanceRequest", + "description": "Request for Failover.", + "type": "object", + "properties": { + "dataProtectionMode": { + "description": "Optional. Available data protection modes that the user can choose. If it's unspecified, data protection mode will be LIMITED_DATA_LOSS by default.", + "type": "string", + "enumDescriptions": [ + "Defaults to LIMITED_DATA_LOSS if a data protection mode is not specified.", + "Instance failover will be protected with data loss control. More specifically, the failover will only be performed if the current replication offset diff between primary and replica is under a certain threshold.", + "Instance failover will be performed without data loss control." + ], + "enum": [ + "DATA_PROTECTION_MODE_UNSPECIFIED", + "LIMITED_DATA_LOSS", + "FORCE_DATA_LOSS" + ] + } + } + }, + "RescheduleMaintenanceRequest": { + "id": "RescheduleMaintenanceRequest", + "description": "Request for RescheduleMaintenance.", + "type": "object", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to use the existing maintenance policy to find the next available window.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "NEXT_AVAILABLE_WINDOW", + "SPECIFIC_TIME" + ] + }, + "scheduleTime": { + "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "type": "string", + "format": "google-datetime" + } + } + }, + "ReconciliationOperationMetadata": { + "id": "ReconciliationOperationMetadata", + "description": "Operation metadata returned by the CLH during resource state reconciliation.", + "type": "object", + "properties": { + "deleteResource": { + "description": "DEPRECATED. Use exclusive_action instead.", + "deprecated": true, + "type": "boolean" + }, + "exclusiveAction": { + "description": "Excluisive action returned by the CLH.", + "type": "string", + "enumDescriptions": [ + "Unknown repair action.", + "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", + "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." + ], + "enumDeprecated": [ + false, + true, + false + ], + "enum": [ + "UNKNOWN_REPAIR_ACTION", + "DELETE", + "RETRY" + ] + } + } + }, + "DatabaseResourceFeed": { + "id": "DatabaseResourceFeed", + "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 13", + "type": "object", + "properties": { + "resourceId": { + "description": "Primary key associated with the Resource. resource_id is available in individual feed level as well.", + "deprecated": true, + "$ref": "DatabaseResourceId" + }, + "feedTimestamp": { + "description": "Required. Timestamp when feed is generated.", + "type": "string", + "format": "google-datetime" + }, + "feedType": { + "description": "Required. Type feed to be ingested into condor", + "type": "string", + "enumDescriptions": [ + "", + "Database resource metadata feed from control plane", + "Database resource monitoring data", + "Database resource security health signal data", + "Database resource recommendation signal data", + "Database config based signal data", + "Database resource metadata from BackupDR", + "Database resource signal data" + ], + "enum": [ + "FEEDTYPE_UNSPECIFIED", + "RESOURCE_METADATA", + "OBSERVABILITY_DATA", + "SECURITY_FINDING_DATA", + "RECOMMENDATION_SIGNAL_DATA", + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA", + "DATABASE_RESOURCE_SIGNAL_DATA" + ] + }, + "resourceMetadata": { + "$ref": "DatabaseResourceMetadata" + }, + "resourceHealthSignalData": { + "$ref": "DatabaseResourceHealthSignalData" + }, + "recommendationSignalData": { + "$ref": "DatabaseResourceRecommendationSignalData" + }, + "observabilityMetricData": { + "$ref": "ObservabilityMetricData" + }, + "configBasedSignalData": { + "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource.", + "$ref": "ConfigBasedSignalData" + }, + "backupdrMetadata": { + "description": "BackupDR metadata is used to ingest metadata from BackupDR.", + "$ref": "BackupDRMetadata" + }, + "databaseResourceSignalData": { + "description": "Database resource signal data is used to ingest signals from database resource signal feeds.", + "$ref": "DatabaseResourceSignalData" + }, + "skipIngestion": { + "description": "Optional. If true, the feed won't be ingested by DB Center. This indicates that the feed is intentionally skipped. For example, BackupDR feeds are only needed for resources integrated with DB Center (e.g., CloudSQL, AlloyDB). Feeds for non-integrated resources (e.g., Compute Engine, Persistent Disk) can be skipped.", + "type": "boolean" + } + } + }, + "DatabaseResourceId": { + "id": "DatabaseResourceId", + "description": "DatabaseResourceId will serve as primary key for any resource ingestion event.", + "type": "object", + "properties": { + "provider": { + "description": "Required. Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", + "type": "string", + "enumDescriptions": [ + "", + "Google cloud platform provider", + "Amazon web service", + "Azure web service", + "On-prem database resources.", + "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", + "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." + ], + "enum": [ + "PROVIDER_UNSPECIFIED", + "GCP", + "AWS", + "AZURE", + "ONPREM", + "SELFMANAGED", + "PROVIDER_OTHER" + ] + }, + "providerDescription": { + "description": "Optional. Needs to be used only when the provider is PROVIDER_OTHER.", + "type": "string" + }, + "uniqueId": { + "description": "Required. A service-local token that distinguishes this resource from other resources within the same service.", + "type": "string" + }, + "resourceType": { + "description": "Required. The type of resource this ID is identifying. Ex go/keep-sorted start alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.googleapis.com/Instance compute.googleapis.com/Instance firestore.googleapis.com/Database, redis.googleapis.com/Instance, redis.googleapis.com/Cluster, oracledatabase.googleapis.com/CloudExadataInfrastructure oracledatabase.googleapis.com/CloudVmCluster oracledatabase.googleapis.com/AutonomousDatabase spanner.googleapis.com/Instance, spanner.googleapis.com/Database, sqladmin.googleapis.com/Instance, go/keep-sorted end REQUIRED Please refer go/condor-common-datamodel", + "type": "string" + } + } + }, + "DatabaseResourceMetadata": { + "id": "DatabaseResourceMetadata", + "description": "Common model for database resource instance metadata. Next ID: 30", + "type": "object", + "properties": { + "id": { + "description": "Required. Unique identifier for a Database resource", + "$ref": "DatabaseResourceId" + }, + "resourceName": { + "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "primaryResourceId": { + "description": "Identifier for this resource's immediate parent/primary resource if the current resource is a replica or derived form of another Database resource. Else it would be NULL. REQUIRED if the immediate parent exists when first time resource is getting ingested, otherwise optional.", + "$ref": "DatabaseResourceId" + }, + "primaryResourceLocation": { + "description": "Primary resource location. REQUIRED if the immediate parent exists when first time resource is getting ingested, otherwise optional.", + "type": "string" + }, + "resourceContainer": { + "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", + "type": "string" + }, + "location": { + "description": "The resource location. REQUIRED", + "type": "string" + }, + "zone": { + "description": "The resource zone. This is only applicable for zonal resources and will be empty for regional and multi-regional resources.", + "type": "string" + }, + "creationTime": { + "description": "The creation time of the resource, i.e. the time when resource is created and recorded in partner service.", + "type": "string", + "format": "google-datetime" + }, + "updationTime": { + "description": "The time at which the resource was updated and recorded at partner service.", + "type": "string", + "format": "google-datetime" + }, + "expectedState": { + "description": "The state that the instance is expected to be in. For example, an instance state can transition to UNHEALTHY due to wrong patch update, while the expected state will remain at the HEALTHY.", + "type": "string", + "enumDescriptions": [ + "", + "The instance is running.", + "Instance being created, updated, deleted or under maintenance", + "When instance is suspended", + "Instance is deleted.", + "For rest of the other category" + ], + "enum": [ + "STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "SUSPENDED", + "DELETED", + "STATE_OTHER" + ] + }, + "currentState": { + "description": "Current state of the instance.", + "type": "string", + "enumDescriptions": [ + "", + "The instance is running.", + "Instance being created, updated, deleted or under maintenance", + "When instance is suspended", + "Instance is deleted.", + "For rest of the other category" + ], + "enum": [ + "STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "SUSPENDED", + "DELETED", + "STATE_OTHER" + ] + }, + "instanceType": { + "description": "The type of the instance. Specified at creation time.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "For rest of the other categories.", + "A regular primary database instance.", + "A cluster or an instance acting as a secondary.", + "An instance acting as a read-replica.", + "For rest of the other categories.", + "A regular primary database instance.", + "A cluster or an instance acting as a secondary.", + "An instance acting as a read-replica.", + "An instance acting as an external primary.", + "For rest of the other categories." + ], + "enumDeprecated": [ + true, + false, + true, + true, + true, + true, + false, + false, + false, + false, + false + ], + "enum": [ + "INSTANCE_TYPE_UNSPECIFIED", + "SUB_RESOURCE_TYPE_UNSPECIFIED", + "PRIMARY", + "SECONDARY", + "READ_REPLICA", + "OTHER", + "SUB_RESOURCE_TYPE_PRIMARY", + "SUB_RESOURCE_TYPE_SECONDARY", + "SUB_RESOURCE_TYPE_READ_REPLICA", + "SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY", + "SUB_RESOURCE_TYPE_OTHER" + ] + }, + "product": { + "description": "The product this resource represents.", + "$ref": "Product" + }, + "availabilityConfiguration": { + "description": "Availability configuration for this instance", + "$ref": "AvailabilityConfiguration" + }, + "backupConfiguration": { + "description": "Backup configuration for this instance", + "$ref": "BackupConfiguration" + }, + "backupRun": { + "description": "Latest backup run information for this instance", + "$ref": "BackupRun" + }, + "customMetadata": { + "description": "Any custom metadata associated with the resource", + "$ref": "CustomMetadataData" + }, + "entitlements": { + "description": "Entitlements associated with the resource", + "type": "array", + "items": { + "$ref": "Entitlement" + } + }, + "userLabelSet": { + "description": "User-provided labels associated with the resource", + "$ref": "UserLabels" + }, + "machineConfiguration": { + "description": "Machine configuration for this resource.", + "$ref": "MachineConfiguration" + }, + "tagsSet": { + "description": "Optional. Tags associated with this resources.", + "$ref": "Tags" + }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "type": "string", + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition.", + "Represents the standard edition." + ], + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS", + "EDITION_STANDARD" + ] + }, + "suspensionReason": { + "description": "Optional. Suspension reason for the resource.", + "type": "string", + "enumDescriptions": [ + "Suspension reason is unspecified.", + "Wipeout hide event.", + "Wipeout purge event.", + "Billing disabled for project", + "Abuse detected for resource", + "Encryption key inaccessible.", + "Replicated cluster encryption key inaccessible." + ], + "enum": [ + "SUSPENSION_REASON_UNSPECIFIED", + "WIPEOUT_HIDE_EVENT", + "WIPEOUT_PURGE_EVENT", + "BILLING_DISABLED", + "ABUSER_DETECTED", + "ENCRYPTION_KEY_INACCESSIBLE", + "REPLICATED_CLUSTER_ENCRYPTION_KEY_INACCESSIBLE" + ] + }, + "gcbdrConfiguration": { + "description": "GCBDR configuration for the resource.", + "deprecated": true, + "$ref": "GCBDRConfiguration" + }, + "backupdrConfiguration": { + "description": "Optional. BackupDR Configuration for the resource.", + "$ref": "BackupDRConfiguration" + }, + "maintenanceInfo": { + "description": "Optional. Maintenance info for the resource.", + "$ref": "ResourceMaintenanceInfo" + }, + "isDeletionProtectionEnabled": { + "description": "Optional. Whether deletion protection is enabled for this resource.", + "type": "boolean" + } + } + }, + "Product": { + "id": "Product", + "description": "Product specification for Condor resources.", + "type": "object", + "properties": { + "type": { + "description": "Type of specific database product. It could be CloudSQL, AlloyDB etc..", + "type": "string", + "enumDescriptions": [ + "UNSPECIFIED means product type is not known or available.", + "Cloud SQL product area in GCP", + "Cloud SQL product area in GCP", + "AlloyDB product area in GCP", + "AlloyDB product area in GCP", + "Spanner product area in GCP", + "On premises database product.", + "On premises database product.", + "Memorystore product area in GCP", + "Bigtable product area in GCP", + "Firestore product area in GCP.", + "Compute Engine self managed databases", + "Oracle product area in GCP", + "BigQuery product area in GCP", + "Other refers to rest of other product type. This is to be when product type is known, but it is not present in this enum." + ], + "enumDeprecated": [ + false, + false, + true, + false, + true, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false + ], + "enum": [ + "PRODUCT_TYPE_UNSPECIFIED", + "PRODUCT_TYPE_CLOUD_SQL", + "CLOUD_SQL", + "PRODUCT_TYPE_ALLOYDB", + "ALLOYDB", + "PRODUCT_TYPE_SPANNER", + "PRODUCT_TYPE_ON_PREM", + "ON_PREM", + "PRODUCT_TYPE_MEMORYSTORE", + "PRODUCT_TYPE_BIGTABLE", + "PRODUCT_TYPE_FIRESTORE", + "PRODUCT_TYPE_COMPUTE_ENGINE", + "PRODUCT_TYPE_ORACLE_ON_GCP", + "PRODUCT_TYPE_BIGQUERY", + "PRODUCT_TYPE_OTHER" + ] + }, + "engine": { + "description": "The specific engine that the underlying database is running.", + "type": "string", + "enumDescriptions": [ + "UNSPECIFIED means engine type is not known or available.", + "MySQL binary running as an engine in the database instance.", + "MySQL binary running as engine in database instance.", + "Postgres binary running as engine in database instance.", + "Postgres binary running as engine in database instance.", + "SQLServer binary running as engine in database instance.", + "SQLServer binary running as engine in database instance.", + "Native database binary running as engine in instance.", + "Native database binary running as engine in instance.", + "Cloud Spanner with PostgreSQL dialect.", + "Cloud Spanner with Google SQL dialect.", + "Memorystore with Redis dialect.", + "Memorystore with Redis cluster dialect.", + "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", + "Firestore with native mode.", + "Firestore with datastore mode.", + "Firestore with MongoDB compatibility mode.", + "Oracle Exadata engine.", + "Oracle Autonomous DB Serverless engine." + ], + "enumDeprecated": [ + false, + false, + true, + false, + true, + false, + true, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enum": [ + "ENGINE_UNSPECIFIED", + "ENGINE_MYSQL", + "MYSQL", + "ENGINE_POSTGRES", + "POSTGRES", + "ENGINE_SQL_SERVER", + "SQL_SERVER", + "ENGINE_NATIVE", + "NATIVE", + "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT", + "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", + "ENGINE_MEMORYSTORE_FOR_REDIS", + "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_OTHER", + "ENGINE_FIRESTORE_WITH_NATIVE_MODE", + "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", + "ENGINE_FIRESTORE_WITH_MONGODB_COMPATIBILITY_MODE", + "ENGINE_EXADATA_ORACLE", + "ENGINE_ADB_SERVERLESS_ORACLE" + ] + }, + "version": { + "description": "Version of the underlying database engine. Example values: For MySQL, it could be \"8.0\", \"5.7\" etc.. For Postgres, it could be \"14\", \"15\" etc..", + "type": "string" + }, + "minorVersion": { + "description": "Minor version of the underlying database engine. Example values: For MySQL, it could be \"8.0.32\", \"5.7.32\" etc.. For Postgres, it could be \"14.3\", \"15.3\" etc..", + "type": "string" + } + } + }, + "AvailabilityConfiguration": { + "id": "AvailabilityConfiguration", + "description": "Configuration for availability of database instance", + "type": "object", + "properties": { + "availabilityType": { + "description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available).", + "type": "string", + "enumDescriptions": [ + "", + "Zonal available instance.", + "Regional available instance.", + "Multi regional instance", + "For rest of the other category" + ], + "enum": [ + "AVAILABILITY_TYPE_UNSPECIFIED", + "ZONAL", + "REGIONAL", + "MULTI_REGIONAL", + "AVAILABILITY_TYPE_OTHER" + ] + }, + "externalReplicaConfigured": { + "type": "boolean" + }, + "promotableReplicaConfigured": { + "type": "boolean" + }, + "crossRegionReplicaConfigured": { + "description": "Checks for resources that are configured to have redundancy, and ongoing replication across regions", + "type": "boolean" + }, + "automaticFailoverRoutingConfigured": { + "description": "Checks for existence of (multi-cluster) routing configuration that allows automatic failover to a different zone/region in case of an outage. Applicable to Bigtable resources.", + "type": "boolean" + } + } + }, + "BackupConfiguration": { + "id": "BackupConfiguration", + "description": "Configuration for automatic backups", + "type": "object", + "properties": { + "automatedBackupEnabled": { + "description": "Whether customer visible automated backups are enabled on the instance.", + "type": "boolean" + }, + "backupRetentionSettings": { + "description": "Backup retention settings.", + "$ref": "RetentionSettings" + }, + "pointInTimeRecoveryEnabled": { + "description": "Whether point-in-time recovery is enabled. This is optional field, if the database service does not have this feature or metadata is not available in control plane, this can be omitted.", + "type": "boolean" + } + } + }, + "RetentionSettings": { + "id": "RetentionSettings", + "type": "object", + "properties": { + "retentionUnit": { + "description": "The unit that 'retained_backups' represents.", + "deprecated": true, + "type": "string", + "enumDescriptions": [ + "Backup retention unit is unspecified, will be treated as COUNT.", + "Retention will be by count, eg. \"retain the most recent 7 backups\".", + "Retention will be by Time, eg. \"retain backups till a specific time\" i.e. till 2024-05-01T00:00:00Z.", + "Retention will be by duration, eg. \"retain the backups for 172800 seconds (2 days)\".", + "For rest of the other category" + ], + "enum": [ + "RETENTION_UNIT_UNSPECIFIED", + "COUNT", + "TIME", + "DURATION", + "RETENTION_UNIT_OTHER" + ] + }, + "timeBasedRetention": { + "deprecated": true, + "type": "string", + "format": "google-duration" + }, + "quantityBasedRetention": { + "type": "integer", + "format": "int32" + }, + "durationBasedRetention": { + "description": "Duration based retention period i.e. 172800 seconds (2 days)", + "type": "string", + "format": "google-duration" + }, + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "type": "string", + "format": "google-datetime" + } + } + }, + "BackupRun": { + "id": "BackupRun", + "description": "A backup run.", + "type": "object", + "properties": { + "startTime": { + "description": "The time the backup operation started. REQUIRED", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "The time the backup operation completed. REQUIRED", + "type": "string", + "format": "google-datetime" + }, + "status": { + "description": "The status of this run. REQUIRED", + "type": "string", + "enumDescriptions": [ + "", + "The backup was successful.", + "The backup was unsuccessful." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "SUCCESSFUL", + "FAILED" + ] + }, + "error": { + "description": "Information about why the backup operation failed. This is only present if the run has the FAILED status. OPTIONAL", + "$ref": "OperationError" + } + } + }, + "OperationError": { + "id": "OperationError", + "description": "An error that occurred during a backup creation operation.", + "type": "object", + "properties": { + "code": { + "description": "Identifies the specific error that occurred. REQUIRED", + "type": "string" + }, + "message": { + "description": "Additional information about the error encountered. REQUIRED", + "type": "string" + }, + "errorType": { + "type": "string", + "enumDescriptions": [ + "UNSPECIFIED means product type is not known or available.", + "key destroyed, expired, not found, unreachable or permission denied.", + "Database is not accessible", + "The zone or region does not have sufficient resources to handle the request at the moment", + "User initiated cancellation", + "SQL server specific error", + "Any other internal error." + ], + "enum": [ + "OPERATION_ERROR_TYPE_UNSPECIFIED", + "KMS_KEY_ERROR", + "DATABASE_ERROR", + "STOCKOUT_ERROR", + "CANCELLATION_ERROR", + "SQLSERVER_ERROR", + "INTERNAL_ERROR" + ] + } + } + }, + "CustomMetadataData": { + "id": "CustomMetadataData", + "description": "Any custom metadata associated with the resource. e.g. A spanner instance can have multiple databases with its own unique metadata. Information for these individual databases can be captured in custom metadata data", + "type": "object", + "properties": { + "internalResourceMetadata": { + "description": "Metadata for individual internal resources in an instance. e.g. spanner instance can have multiple databases with unique configuration.", + "type": "array", + "items": { + "$ref": "InternalResourceMetadata" + } + } + } + }, + "InternalResourceMetadata": { + "id": "InternalResourceMetadata", + "description": "Metadata for individual internal resources in an instance. e.g. spanner instance can have multiple databases with unique configuration settings. Similarly bigtable can have multiple clusters within same bigtable instance.", + "type": "object", + "properties": { + "resourceId": { + "$ref": "DatabaseResourceId" + }, + "resourceName": { + "description": "Required. internal resource name for spanner this will be database name e.g.\"spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1\"", + "type": "string" + }, + "product": { + "$ref": "Product" + }, + "backupConfiguration": { + "description": "Backup configuration for this database", + "$ref": "BackupConfiguration" + }, + "backupRun": { + "description": "Information about the last backup attempt for this database", + "$ref": "BackupRun" + }, + "isDeletionProtectionEnabled": { + "description": "Whether deletion protection is enabled for this internal resource.", + "type": "boolean" + } + } + }, + "Entitlement": { + "id": "Entitlement", + "description": "Proto representing the access that a user has to a specific feature/service. NextId: 3.", + "type": "object", + "properties": { + "type": { + "description": "An enum that represents the type of this entitlement.", + "type": "string", + "enumDescriptions": [ + "The entitlement type is unspecified.", + "The root entitlement representing Gemini package ownership.This will no longer be supported in the future.", + "The entitlement representing Native Tier, This will be the default Entitlement going forward with GCA Enablement.", + "The entitlement representing GCA-Standard Tier." + ], + "enumDeprecated": [ + false, + true, + false, + false + ], + "enum": [ + "ENTITLEMENT_TYPE_UNSPECIFIED", + "GEMINI", + "NATIVE", + "GCA_STANDARD" + ] + }, + "entitlementState": { + "description": "The current state of user's accessibility to a feature/benefit.", + "type": "string", + "enumDescriptions": [ + "", + "User is entitled to a feature/benefit, but whether it has been successfully provisioned is decided by provisioning state.", + "User is entitled to a feature/benefit, but it was requested to be revoked. Whether the revoke has been successful is decided by provisioning state." + ], + "enum": [ + "ENTITLEMENT_STATE_UNSPECIFIED", + "ENTITLED", + "REVOKED" + ] + } + } + }, + "UserLabels": { + "id": "UserLabels", + "description": "Message type for storing user labels. User labels are used to tag App Engine resources, allowing users to search for resources matching a set of labels and to aggregate usage data by labels.", + "type": "object", + "properties": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "MachineConfiguration": { + "id": "MachineConfiguration", + "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", + "type": "object", + "properties": { + "cpuCount": { + "description": "The number of CPUs. Deprecated. Use vcpu_count instead. TODO(b/342344482) add proto validations again after bug fix.", + "deprecated": true, + "type": "integer", + "format": "int32" + }, + "memorySizeInBytes": { + "description": "Memory size in bytes. TODO(b/342344482) add proto validations again after bug fix.", + "type": "string", + "format": "int64" + }, + "shardCount": { + "description": "Optional. Number of shards (if applicable).", + "type": "integer", + "format": "int32" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482) add proto validations again after bug fix.", + "type": "number", + "format": "double" + } + } + }, + "Tags": { + "id": "Tags", + "description": "Message type for storing tags. Tags provide a way to create annotations for resources, and in some cases conditionally allow or deny policies based on whether a resource has a specific tag.", + "type": "object", + "properties": { + "tags": { + "description": "The Tag key/value mappings.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GCBDRConfiguration": { + "id": "GCBDRConfiguration", + "description": "GCBDR Configuration for the resource.", + "type": "object", + "properties": { + "gcbdrManaged": { + "description": "Whether the resource is managed by GCBDR.", + "type": "boolean" + } + } + }, + "BackupDRConfiguration": { + "id": "BackupDRConfiguration", + "description": "BackupDRConfiguration to capture the backup and disaster recovery details of database resource.", + "type": "object", + "properties": { + "backupdrManaged": { + "description": "Indicates if the resource is managed by BackupDR.", + "type": "boolean" + } + } + }, + "ResourceMaintenanceInfo": { + "id": "ResourceMaintenanceInfo", + "description": "MaintenanceInfo to capture the maintenance details of database resource.", + "type": "object", + "properties": { + "maintenanceSchedule": { + "description": "Optional. Maintenance window for the database resource.", + "$ref": "ResourceMaintenanceSchedule" + }, + "denyMaintenanceSchedules": { + "description": "Optional. List of Deny maintenance period for the database resource.", + "type": "array", + "items": { + "$ref": "ResourceMaintenanceDenySchedule" + } + }, + "maintenanceVersion": { + "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", + "type": "string" + } + } + }, + "ResourceMaintenanceSchedule": { + "id": "ResourceMaintenanceSchedule", + "description": "Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer.", + "type": "object", + "properties": { + "time": { + "description": "Optional. Preferred time to start the maintenance operation on the specified day.", + "$ref": "TimeOfDay" + }, + "day": { + "description": "Optional. Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.", + "type": "string", + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "phase": { + "description": "Optional. Phase of the maintenance window. This is to capture order of maintenance. For example, for Cloud SQL resources, this can be used to capture if the maintenance window is in Week1, Week2, Week5, etc. Non production resources are usually part of early phase. For more details, refer to Cloud SQL resources - https://cloud.google.com/sql/docs/mysql/maintenance", + "type": "string", + "enumDescriptions": [ + "Phase is unspecified.", + "Any phase.", + "Week 1.", + "Week 2.", + "Week 5." + ], + "enum": [ + "PHASE_UNSPECIFIED", + "ANY", + "WEEK1", + "WEEK2", + "WEEK5" + ] + } + } + }, + "ResourceMaintenanceDenySchedule": { + "id": "ResourceMaintenanceDenySchedule", + "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", + "type": "object", + "properties": { + "startDate": { + "description": "Optional. The start date of the deny maintenance period.", + "$ref": "Date" + }, + "endDate": { + "description": "Optional. Deny period end date.", + "$ref": "Date" + }, + "time": { + "description": "Optional. Time in UTC when the deny period starts on start_date and ends on end_date.", + "$ref": "TimeOfDay" + } + } + }, + "Date": { + "id": "Date", + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "type": "object", + "properties": { + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "type": "integer", + "format": "int32" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "type": "integer", + "format": "int32" + }, + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "type": "integer", + "format": "int32" + } + } + }, + "DatabaseResourceHealthSignalData": { + "id": "DatabaseResourceHealthSignalData", + "description": "Common model for database resource health signal data.", + "type": "object", + "properties": { + "signalId": { + "description": "Required. Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a signal.", + "type": "string" + }, + "name": { + "description": "Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc.", + "type": "string" + }, + "externalUri": { + "description": "The external-uri of the signal, using which more information about this signal can be obtained. In GCP, this will take user to SCC page to get more details about signals.", + "type": "string" + }, + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "provider": { + "description": "Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged", + "type": "string", + "enumDescriptions": [ + "", + "Google cloud platform provider", + "Amazon web service", + "Azure web service", + "On-prem database resources.", + "Self-managed database provider. These are resources on a cloud platform, e.g., database resource installed in a GCE VM, but not a managed database service.", + "For the rest of the other categories. Other refers to the rest of other database service providers, this could be smaller cloud provider. This needs to be provided when the provider is known, but it is not present in the existing set of enum values." + ], + "enum": [ + "PROVIDER_UNSPECIFIED", + "GCP", + "AWS", + "AZURE", + "ONPREM", + "SELFMANAGED", + "PROVIDER_OTHER" + ] + }, + "resourceContainer": { + "description": "Closest parent container of this resource. In GCP, 'container' refers to a Cloud Resource Manager project. It must be resource name of a Cloud Resource Manager project with the format of \"provider//\", such as \"projects/123\". For GCP provided resources, number should be project number.", + "type": "string" + }, + "description": { + "description": "Description associated with signal", + "type": "string" + }, + "eventTime": { + "description": "Required. The last time at which the event described by this signal took place", + "type": "string", + "format": "google-datetime" + }, + "state": { + "type": "string", + "enumDescriptions": [ + "Unspecified state.", + "The signal requires attention and has not been addressed yet.", + "The signal has been fixed, triaged as a non-issue or otherwise addressed and is no longer active.", + "The signal has been muted." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "RESOLVED", + "MUTED" + ] + }, + "signalClass": { + "description": "Required. The class of the signal, such as if it's a THREAT or VULNERABILITY.", + "type": "string", + "enumDescriptions": [ + "Unspecified signal class.", + "Describes unwanted or malicious activity.", + "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", + "Describes a potential weakness in cloud resource/asset configuration that increases risk.", + "Describes a security observation that is for informational purposes.", + "Describes an error that prevents some SCC functionality." + ], + "enum": [ + "CLASS_UNSPECIFIED", + "THREAT", + "VULNERABILITY", + "MISCONFIGURATION", + "OBSERVATION", + "ERROR" + ] + }, + "signalSeverity": { + "description": "The severity of the signal, such as if it's a HIGH or LOW severity.", + "type": "string", + "enumDescriptions": [ + "This value is used for findings when a source doesn't write a severity value.", + "A critical vulnerability is easily discoverable by an external actor, exploitable.", + "A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities.", + "A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually gain access and the ability to execute arbitrary code or exfiltrate data.", + "A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment." + ], + "enum": [ + "SIGNAL_SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ] + }, + "compliance": { + "description": "Industry standards associated with this signal; if this signal is an issue, that could be a violation of the associated industry standard(s). For example, AUTO_BACKUP_DISABLED signal is associated with CIS GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 and ISO-27001 compliance standards. If a database resource does not have automated backup enable, it will violate these following industry standards.", + "type": "array", + "items": { + "$ref": "Compliance" + } + }, + "additionalMetadata": { + "description": "Any other additional metadata", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "signalType": { + "description": "Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.", + "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.", + "Represents if the resource is available in multiple zones or not.", + "Represents if a resource is available in multiple regions.", + "Represents if a resource has a promotable replica.", + "Represents if a resource has an automated backup policy.", + "Represents if a resources has a short backup retention period.", + "Represents if the last backup of a resource failed.", + "Represents if the last backup of a resource is older than some threshold value.", + "Represents if a resource violates CIS GCP Foundation 2.0.", + "Represents if a resource violates CIS GCP Foundation 1.3.", + "Represents if a resource violates CIS GCP Foundation 1.2.", + "Represents if a resource violates CIS GCP Foundation 1.1.", + "Represents if a resource violates CIS GCP Foundation 1.0.", + "Represents if a resource violates CIS Controls 8.0.", + "Represents if a resource violates NIST 800-53.", + "Represents if a resource violates NIST 800-53 R5.", + "Represents if a resource violates NIST Cybersecurity Framework 1.0.", + "Represents if a resource violates ISO-27001.", + "Represents if a resource violates ISO 27001 2022.", + "Represents if a resource violates PCI-DSS v3.2.1.", + "Represents if a resource violates PCI-DSS v4.0.", + "Represents if a resource violates Cloud Controls Matrix v4.0.", + "Represents if a resource violates HIPAA.", + "Represents if a resource violates SOC2 v2017.", + "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is not set to default or stricter (default or terse).", + "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.", + "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.", + "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.", + "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).", + "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)", + "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.", + "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.", + "Represents if a resource is exposed to public access.", + "Represents if a resources requires all incoming connections to use SSL or not.", + "Represents if a Cloud SQL database has a password configured for the root account or not.", + "Represents if a Cloud SQL database has a weak password configured for the root account.", + "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).", + "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.", + "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.", + "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.", + "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.", + "Represents if public IP is enabled.", + "Represents Idle instance helps to reduce costs.", + "Represents instances that are unnecessarily large for given workload.", + "Represents high number of concurrently opened tables.", + "Represents high table count close to SLA limit.", + "Represents high number of unvacuumed transactions", + "Represents need for more CPU and/or memory", + "Represents out of disk.", + "Represents server certificate is near expiry.", + "Represents database auditing is disabled.", + "Represents not restricted to authorized networks.", + "Represents violate org policy restrict public ip.", + "Cluster nearing quota limit", + "No password policy set on resources", + "Performance impact of connections settings", + "Performance impact of temporary tables settings", + "Performance impact of transaction logs settings", + "Performance impact of high joins without indexes", + "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", + "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", + "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected.", + "Indicates that the instance has read intensive workload.", + "Indicates that the instance is nearing memory limit.", + "Indicates that the instance's max server memory is configured higher than the recommended value.", + "Indicates that the database has large rows beyond the recommended limit.", + "Heavy write pressure on the database rows.", + "Heavy read pressure on the database rows.", + "Encryption org policy not satisfied.", + "Location org policy not satisfied.", + "Outdated DB minor version.", + "Schema not optimized.", + "High number of idle connections.", + "Replication delay.", + "Outdated version.", + "Outdated client.", + "Databoost is disabled.", + "Recommended maintenance policy.", + "Resource version is in extended support." + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", + "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", + "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", + "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY", + "SIGNAL_TYPE_SHORT_BACKUP_RETENTION", + "SIGNAL_TYPE_LAST_BACKUP_FAILED", + "SIGNAL_TYPE_LAST_BACKUP_OLD", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0", + "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0", + "SIGNAL_TYPE_VIOLATES_NIST_800_53", + "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5", + "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0", + "SIGNAL_TYPE_VIOLATES_ISO_27001", + "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0", + "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4", + "SIGNAL_TYPE_VIOLATES_HIPAA", + "SIGNAL_TYPE_VIOLATES_SOC2_V2017", + "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING", + "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED", + "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_MOST_ERRORS", + "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS", + "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", + "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES", + "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED", + "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED", + "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", + "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", + "SIGNAL_TYPE_NO_ROOT_PASSWORD", + "SIGNAL_TYPE_WEAK_ROOT_PASSWORD", + "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED", + "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED", + "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING", + "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS", + "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS", + "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED", + "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO", + "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS", + "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED", + "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED", + "SIGNAL_TYPE_PUBLIC_IP_ENABLED", + "SIGNAL_TYPE_IDLE", + "SIGNAL_TYPE_OVERPROVISIONED", + "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES", + "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES", + "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION", + "SIGNAL_TYPE_UNDERPROVISIONED", + "SIGNAL_TYPE_OUT_OF_DISK", + "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY", + "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", + "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS", + "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP", + "SIGNAL_TYPE_QUOTA_LIMIT", + "SIGNAL_TYPE_NO_PASSWORD_POLICY", + "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", + "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", + "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", + "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY", + "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD", + "SIGNAL_TYPE_MEMORY_LIMIT", + "SIGNAL_TYPE_MAX_SERVER_MEMORY", + "SIGNAL_TYPE_LARGE_ROWS", + "SIGNAL_TYPE_HIGH_WRITE_PRESSURE", + "SIGNAL_TYPE_HIGH_READ_PRESSURE", + "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED", + "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", + "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", + "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT", + "SIGNAL_TYPE_DATABOOST_DISABLED", + "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES", + "SIGNAL_TYPE_EXTENDED_SUPPORT" + ] + }, + "location": { + "description": "This is used to identify the location of the resource. Example: \"us-central1\"", + "type": "string" + } + } + }, + "Compliance": { + "id": "Compliance", + "description": "Contains compliance information about a security standard indicating unmet recommendations.", + "type": "object", + "properties": { + "standard": { + "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", + "type": "string" + }, + "version": { + "description": "Version of the standard or benchmark, for example, 1.1", + "type": "string" + } + } + }, + "DatabaseResourceRecommendationSignalData": { + "id": "DatabaseResourceRecommendationSignalData", + "description": "Common model for database resource recommendation signal data.", + "type": "object", + "properties": { + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "signalType": { + "description": "Required. Type of signal, for example, `SIGNAL_TYPE_IDLE`, `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Represents if a resource is protected by automatic failover. Checks for resources that are configured to have redundancy within a region that enables automatic failover.", + "Represents if a group is replicating across regions. Checks for resources that are configured to have redundancy, and ongoing replication, across regions.", + "Represents if the resource is available in multiple zones or not.", + "Represents if a resource is available in multiple regions.", + "Represents if a resource has a promotable replica.", + "Represents if a resource has an automated backup policy.", + "Represents if a resources has a short backup retention period.", + "Represents if the last backup of a resource failed.", + "Represents if the last backup of a resource is older than some threshold value.", + "Represents if a resource violates CIS GCP Foundation 2.0.", + "Represents if a resource violates CIS GCP Foundation 1.3.", + "Represents if a resource violates CIS GCP Foundation 1.2.", + "Represents if a resource violates CIS GCP Foundation 1.1.", + "Represents if a resource violates CIS GCP Foundation 1.0.", + "Represents if a resource violates CIS Controls 8.0.", + "Represents if a resource violates NIST 800-53.", + "Represents if a resource violates NIST 800-53 R5.", + "Represents if a resource violates NIST Cybersecurity Framework 1.0.", + "Represents if a resource violates ISO-27001.", + "Represents if a resource violates ISO 27001 2022.", + "Represents if a resource violates PCI-DSS v3.2.1.", + "Represents if a resource violates PCI-DSS v4.0.", + "Represents if a resource violates Cloud Controls Matrix v4.0.", + "Represents if a resource violates HIPAA.", + "Represents if a resource violates SOC2 v2017.", + "Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is not set to default or stricter (default or terse).", + "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.", + "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.", + "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.", + "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).", + "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)", + "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.", + "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.", + "Represents if a resource is exposed to public access.", + "Represents if a resources requires all incoming connections to use SSL or not.", + "Represents if a Cloud SQL database has a password configured for the root account or not.", + "Represents if a Cloud SQL database has a weak password configured for the root account.", + "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).", + "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.", + "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.", + "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.", + "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on.", + "Represents if public IP is enabled.", + "Represents Idle instance helps to reduce costs.", + "Represents instances that are unnecessarily large for given workload.", + "Represents high number of concurrently opened tables.", + "Represents high table count close to SLA limit.", + "Represents high number of unvacuumed transactions", + "Represents need for more CPU and/or memory", + "Represents out of disk.", + "Represents server certificate is near expiry.", + "Represents database auditing is disabled.", + "Represents not restricted to authorized networks.", + "Represents violate org policy restrict public ip.", + "Cluster nearing quota limit", + "No password policy set on resources", + "Performance impact of connections settings", + "Performance impact of temporary tables settings", + "Performance impact of transaction logs settings", + "Performance impact of high joins without indexes", + "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", + "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", + "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set.", + "Detects if a database instance/cluster has a hot node.", + "Detects if a database instance has no point in time recovery enabled.", + "Detects if a database instance/cluster is suspended.", + "Detects that expensive commands are being run on a database instance impacting overall performance.", + "Indicates that the instance does not have a maintenance policy configured.", + "Deletion Protection Disabled for the resource", + "Indicates that the instance has inefficient queries detected.", + "Indicates that the instance has read intensive workload.", + "Indicates that the instance is nearing memory limit.", + "Indicates that the instance's max server memory is configured higher than the recommended value.", + "Indicates that the database has large rows beyond the recommended limit.", + "Heavy write pressure on the database rows.", + "Heavy read pressure on the database rows.", + "Encryption org policy not satisfied.", + "Location org policy not satisfied.", + "Outdated DB minor version.", + "Schema not optimized.", + "High number of idle connections.", + "Replication delay.", + "Outdated version.", + "Outdated client.", + "Databoost is disabled.", + "Recommended maintenance policy.", + "Resource version is in extended support." + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER", + "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", + "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", + "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY", + "SIGNAL_TYPE_SHORT_BACKUP_RETENTION", + "SIGNAL_TYPE_LAST_BACKUP_FAILED", + "SIGNAL_TYPE_LAST_BACKUP_OLD", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0", + "SIGNAL_TYPE_VIOLATES_CIS_CONTROLS_V8_0", + "SIGNAL_TYPE_VIOLATES_NIST_800_53", + "SIGNAL_TYPE_VIOLATES_NIST_800_53_R5", + "SIGNAL_TYPE_VIOLATES_NIST_CYBERSECURITY_FRAMEWORK_V1_0", + "SIGNAL_TYPE_VIOLATES_ISO_27001", + "SIGNAL_TYPE_VIOLATES_ISO_27001_V2022", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V4_0", + "SIGNAL_TYPE_VIOLATES_CLOUD_CONTROLS_MATRIX_V4", + "SIGNAL_TYPE_VIOLATES_HIPAA", + "SIGNAL_TYPE_VIOLATES_SOC2_V2017", + "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING", + "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED", + "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_MOST_ERRORS", + "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS", + "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", + "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES", + "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED", + "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED", + "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", + "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", + "SIGNAL_TYPE_NO_ROOT_PASSWORD", + "SIGNAL_TYPE_WEAK_ROOT_PASSWORD", + "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED", + "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED", + "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING", + "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS", + "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS", + "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED", + "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO", + "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS", + "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED", + "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED", + "SIGNAL_TYPE_PUBLIC_IP_ENABLED", + "SIGNAL_TYPE_IDLE", + "SIGNAL_TYPE_OVERPROVISIONED", + "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES", + "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES", + "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION", + "SIGNAL_TYPE_UNDERPROVISIONED", + "SIGNAL_TYPE_OUT_OF_DISK", + "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY", + "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", + "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS", + "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP", + "SIGNAL_TYPE_QUOTA_LIMIT", + "SIGNAL_TYPE_NO_PASSWORD_POLICY", + "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT", + "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES", + "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", + "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", + "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY", + "SIGNAL_TYPE_HOT_NODE", + "SIGNAL_TYPE_NO_POINT_IN_TIME_RECOVERY", + "SIGNAL_TYPE_RESOURCE_SUSPENDED", + "SIGNAL_TYPE_EXPENSIVE_COMMANDS", + "SIGNAL_TYPE_NO_MAINTENANCE_POLICY_CONFIGURED", + "SIGNAL_TYPE_NO_DELETION_PROTECTION", + "SIGNAL_TYPE_INEFFICIENT_QUERY", + "SIGNAL_TYPE_READ_INTENSIVE_WORKLOAD", + "SIGNAL_TYPE_MEMORY_LIMIT", + "SIGNAL_TYPE_MAX_SERVER_MEMORY", + "SIGNAL_TYPE_LARGE_ROWS", + "SIGNAL_TYPE_HIGH_WRITE_PRESSURE", + "SIGNAL_TYPE_HIGH_READ_PRESSURE", + "SIGNAL_TYPE_ENCRYPTION_ORG_POLICY_NOT_SATISFIED", + "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", + "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", + "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION", + "SIGNAL_TYPE_OUTDATED_CLIENT", + "SIGNAL_TYPE_DATABOOST_DISABLED", + "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES", + "SIGNAL_TYPE_EXTENDED_SUPPORT" + ] + }, + "lastRefreshTime": { + "description": "Required. last time recommendationw as refreshed", + "type": "string", + "format": "google-datetime" + }, + "recommendationState": { + "description": "Required. Recommendation state", + "type": "string", + "enumDescriptions": [ + "", + "Recommendation is active and can be applied. ACTIVE recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in claimed state. Recommendations content is immutable and cannot be updated by Google. CLAIMED recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in succeeded state. Recommendations content is immutable and cannot be updated by Google. SUCCEEDED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in failed state. Recommendations content is immutable and cannot be updated by Google. FAILED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in dismissed state. Recommendation content can be updated by Google. DISMISSED recommendations can be marked as ACTIVE." + ], + "enum": [ + "UNSPECIFIED", + "ACTIVE", + "CLAIMED", + "SUCCEEDED", + "FAILED", + "DISMISSED" + ] + }, + "recommender": { + "description": "Required. Name of recommendation. Examples: organizations/1234/locations/us-central1/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations/9876", + "type": "string" + }, + "recommenderId": { + "description": "Required. ID of recommender. Examples: \"google.cloudsql.instance.PerformanceRecommender\"", + "type": "string" + }, + "recommenderSubtype": { + "description": "Required. Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = \"google.cloudsql.instance.PerformanceRecommender\", recommender_subtype can be \"MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE\"/\"POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION_BEST_PRACTICE\"", + "type": "string" + }, + "additionalMetadata": { + "description": "Optional. Any other additional metadata specific to recommendation", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "ObservabilityMetricData": { + "id": "ObservabilityMetricData", + "type": "object", + "properties": { + "resourceName": { + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "type": "string" + }, + "metricType": { + "description": "Required. Type of metric like CPU, Memory, etc.", + "type": "string", + "enumDescriptions": [ + "Unspecified metric type.", + "CPU utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", + "Memory utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", + "Number of network connections for a resource.", + "Storage utilization for a resource. The value is a fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).", + "Sotrage used by a resource.", + "Node count for a resource. It represents the number of node units in a bigtable/spanner instance.", + "Memory used by a resource (in bytes).", + "Processing units used by a resource. It represents the number of processing units in a spanner instance." + ], + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "CPU_UTILIZATION", + "MEMORY_UTILIZATION", + "NETWORK_CONNECTIONS", + "STORAGE_UTILIZATION", + "STORAGE_USED_BYTES", + "NODE_COUNT", + "MEMORY_USED_BYTES", + "PROCESSING_UNIT_COUNT" + ] + }, + "aggregationType": { + "description": "Required. Type of aggregation performed on the metric.", + "type": "string", + "enumDescriptions": [ + "Unspecified aggregation type.", + "PEAK aggregation type.", + "P99 aggregation type.", + "P95 aggregation type.", + "current aggregation type." + ], + "enum": [ + "AGGREGATION_TYPE_UNSPECIFIED", + "PEAK", + "P99", + "P95", + "CURRENT" + ] + }, + "value": { + "description": "Required. Value of the metric type.", + "$ref": "TypedValue" + }, + "observationTime": { + "description": "Required. The time the metric value was observed.", + "type": "string", + "format": "google-datetime" + } + } + }, + "TypedValue": { + "id": "TypedValue", + "description": "TypedValue represents the value of a metric type. It can either be a double, an int64, a string or a bool.", + "type": "object", + "properties": { + "doubleValue": { + "description": "For double value", + "type": "number", + "format": "double" + }, + "int64Value": { + "description": "For integer value", + "type": "string", + "format": "int64" + }, + "stringValue": { + "description": "For string value", + "type": "string" + }, + "boolValue": { + "description": "For boolean value", + "type": "boolean" + } + } + }, + "ConfigBasedSignalData": { + "id": "ConfigBasedSignalData", + "description": "Config based signal data. This is used to send signals to Condor which are based on the DB level configurations. These will be used to send signals for self managed databases.", + "type": "object", + "properties": { + "resourceId": { + "description": "Database resource id.", + "$ref": "DatabaseResourceId" + }, + "fullResourceName": { + "description": "Required. Full Resource name of the source resource.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Required. Last time signal was refreshed", + "type": "string", + "format": "google-datetime" + }, + "signalType": { + "description": "Required. Signal type of the signal", + "type": "string", + "enumDescriptions": [ + "Unspecified signal type.", + "Outdated Minor Version", + "Represents database auditing is disabled.", + "Represents if a database has a password configured for the root account or not.", + "Represents if a resource is exposed to public access.", + "Represents if a resources requires all incoming connections to use SSL or not.", + "Represents if a resource version is in extended support." + ], + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", + "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", + "SIGNAL_TYPE_NO_ROOT_PASSWORD", + "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", + "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", + "SIGNAL_TYPE_EXTENDED_SUPPORT" + ] + }, + "signalBoolValue": { + "description": "Signal data for boolean signals.", + "type": "boolean" + } + } + }, + "BackupDRMetadata": { + "id": "BackupDRMetadata", + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "type": "object", + "properties": { + "resourceId": { + "description": "Required. Database resource id.", + "$ref": "DatabaseResourceId" + }, + "lastRefreshTime": { + "description": "Required. Last time backup configuration was refreshed.", + "type": "string", + "format": "google-datetime" + }, + "backupConfiguration": { + "description": "Backup configuration for this instance.", + "$ref": "BackupConfiguration" + }, + "backupRun": { + "description": "Latest backup run information for this instance.", + "$ref": "BackupRun" + }, + "backupdrConfiguration": { + "description": "BackupDR configuration for this instance.", + "$ref": "BackupDRConfiguration" + }, + "fullResourceName": { + "description": "Required. Full resource name of this instance.", + "type": "string" + } + } + }, + "DatabaseResourceSignalData": { + "id": "DatabaseResourceSignalData", + "description": "Database resource signal data. This is used to send signals to Condor which are based on the DB/Instance/Fleet level configurations. These will be used to send signals for all inventory types. Next ID: 7", + "type": "object", + "properties": { + "resourceId": { + "description": "Database resource id.", + "$ref": "DatabaseResourceId" + }, + "fullResourceName": { + "description": "Required. Full Resource name of the source resource.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Required. Last time signal was refreshed", + "type": "string", + "format": "google-datetime" + }, + "signalType": { + "description": "Required. Signal type of the signal", + "type": "string", + "enumDescriptions": [ + "Unspecified signal type.", + "Outdated Minor Version", + "Represents database auditing is disabled.", + "Represents if a database has a password configured for the root account or not.", + "Represents if a resource is exposed to public access.", + "Represents if a resources requires all incoming connections to use SSL or not.", + "Represents if a resource version is in extended support." + ], + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", + "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED", + "SIGNAL_TYPE_NO_ROOT_PASSWORD", + "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", + "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", + "SIGNAL_TYPE_EXTENDED_SUPPORT" + ] + }, + "signalState": { + "description": "Required. Output only. Signal state of the signal", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Unspecified signal state.", + "Signal is active and requires attention.", + "Signal is inactive and does not require attention.", + "Signal is dismissed by the user and should not be shown to the user again." + ], + "enum": [ + "SIGNAL_STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "DISMISSED" + ] + }, + "signalBoolValue": { + "description": "Signal data for boolean signals.", + "type": "boolean" + } + } + }, + "OperationMetadata": { + "id": "OperationMetadata", + "description": "Pre-defined metadata fields.", + "type": "object", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + } + } + }, + "GoogleCloudRedisV1OperationMetadata": { + "id": "GoogleCloudRedisV1OperationMetadata", + "description": "Represents the v1 metadata of the long-running operation.", + "type": "object", + "properties": { + "createTime": { + "description": "Creation timestamp.", + "type": "string", + "format": "google-datetime" + }, + "endTime": { + "description": "End timestamp.", + "type": "string", + "format": "google-datetime" + }, + "target": { + "description": "Operation target.", + "type": "string" + }, + "verb": { + "description": "Operation verb.", + "type": "string" + }, + "statusDetail": { + "description": "Operation status details.", + "type": "string" + }, + "cancelRequested": { + "description": "Specifies if cancellation was requested for the operation.", + "type": "boolean" + }, + "apiVersion": { + "description": "API version.", + "type": "string" + } + } + }, + "GoogleCloudRedisV1LocationMetadata": { + "id": "GoogleCloudRedisV1LocationMetadata", + "description": "This location metadata represents additional configuration options for a given location where a Redis instance may be created. All fields are output only. It is returned as content of the `google.cloud.location.Location.metadata` field.", + "type": "object", + "properties": { + "availableZones": { + "description": "Output only. The set of available zones in the location. The map is keyed by the lowercase ID of each zone, as defined by GCE. These keys can be specified in `location_id` or `alternative_location_id` fields when creating a Redis instance.", + "readOnly": true, + "type": "object", + "additionalProperties": { + "$ref": "GoogleCloudRedisV1ZoneMetadata" + } + } + } + }, + "GoogleCloudRedisV1ZoneMetadata": { + "id": "GoogleCloudRedisV1ZoneMetadata", + "description": "Defines specific information for a particular zone. Currently empty and reserved for future use only.", + "type": "object", + "properties": {} + } + }, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "rootUrl": "https://redis.googleapis.com/", + "ownerDomain": "google.com", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, "discoveryVersion": "v1", - "name": "redis", - "baseUrl": "https://redis.googleapis.com/", - "rootUrl": "https://redis.googleapis.com/" + "fullyEncodeReservedExpansion": true, + "servicePath": "", + "documentationLink": "https://cloud.google.com/memorystore/docs/redis/", + "canonicalName": "Cloud Redis", + "mtlsRootUrl": "https://redis.mtls.googleapis.com/", + "revision": "20251104", + "basePath": "", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + } } diff --git a/modules/test-resources/src/main/resources/storage_v1.json b/modules/test-resources/src/main/resources/storage_v1.json index 71e263e..6a120db 100644 --- a/modules/test-resources/src/main/resources/storage_v1.json +++ b/modules/test-resources/src/main/resources/storage_v1.json @@ -23,20 +23,230 @@ "labs" ], "endpoints": [ + { + "endpointUrl": "https://storage.africa-south1.rep.googleapis.com/", + "location": "africa-south1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-east1.rep.googleapis.com/", + "location": "asia-east1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-east2.rep.googleapis.com/", + "location": "asia-east2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-south1.rep.googleapis.com/", + "location": "asia-south1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-south2.rep.googleapis.com/", + "location": "asia-south2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.eu.rep.googleapis.com/", + "location": "eu", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-central2.rep.googleapis.com/", + "location": "europe-central2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-north1.rep.googleapis.com/", + "location": "europe-north1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-west1.rep.googleapis.com/", + "location": "europe-west1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-west2.rep.googleapis.com/", + "location": "europe-west2", + "description": "Regional Endpoint" + }, { "endpointUrl": "https://storage.europe-west3.rep.googleapis.com/", "location": "europe-west3", "description": "Regional Endpoint" }, + { + "endpointUrl": "https://storage.europe-west4.rep.googleapis.com/", + "location": "europe-west4", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-west6.rep.googleapis.com/", + "location": "europe-west6", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-west8.rep.googleapis.com/", + "location": "europe-west8", + "description": "Regional Endpoint" + }, { "endpointUrl": "https://storage.europe-west9.rep.googleapis.com/", "location": "europe-west9", "description": "Regional Endpoint" }, + { + "endpointUrl": "https://storage.europe-west10.rep.googleapis.com/", + "location": "europe-west10", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-west12.rep.googleapis.com/", + "location": "europe-west12", + "description": "Regional Endpoint" + }, { "endpointUrl": "https://storage.me-central2.rep.googleapis.com/", "location": "me-central2", "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.me-west1.rep.googleapis.com/", + "location": "me-west1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us.rep.googleapis.com/", + "location": "us", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-central1.rep.googleapis.com/", + "location": "us-central1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-east1.rep.googleapis.com/", + "location": "us-east1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-east4.rep.googleapis.com/", + "location": "us-east4", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-east5.rep.googleapis.com/", + "location": "us-east5", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-south1.rep.googleapis.com/", + "location": "us-south1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-west1.rep.googleapis.com/", + "location": "us-west1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-west2.rep.googleapis.com/", + "location": "us-west2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-west3.rep.googleapis.com/", + "location": "us-west3", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-west4.rep.googleapis.com/", + "location": "us-west4", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.me-central1.rep.googleapis.com/", + "location": "me-central1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.europe-north2.rep.googleapis.com/", + "location": "europe-north2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.us-west8.rep.googleapis.com/", + "location": "us-west8", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://storage.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1", + "description": "Regional Endpoint" } ], "protocol": "rest", @@ -46,10 +256,12 @@ "description": "Data format for the response.", "default": "json", "enum": [ - "json" + "json", + "media" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "Responses with Content-Type of application/json", + "Responses containing object data" ], "location": "query" }, @@ -205,6 +417,75 @@ "defaultKmsKeyName": { "type": "string", "description": "A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified." + }, + "googleManagedEncryptionEnforcementConfig": { + "type": "object", + "description": "If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Google Managed Encryption type by default.", + "properties": { + "restrictionMode": { + "type": "string", + "description": "Restriction mode for Google-Managed Encryption Keys. Defaults to NotRestricted.", + "enum": [ + "NotRestricted", + "FullyRestricted" + ], + "enumDescriptions": [ + "Creation of new objects with Google Managed Encryption is not restricted.", + "Creation of new objects with Google Managed Encryption is fully restricted." + ] + }, + "effectiveTime": { + "type": "string", + "description": "Server-determined value that indicates the time from which configuration was enforced and effective. This value is in RFC 3339 format.", + "format": "date-time" + } + } + }, + "customerManagedEncryptionEnforcementConfig": { + "type": "object", + "description": "If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Customer Managed Encryption type by default.", + "properties": { + "restrictionMode": { + "type": "string", + "description": "Restriction mode for Customer-Managed Encryption Keys. Defaults to NotRestricted.", + "enum": [ + "NotRestricted", + "FullyRestricted" + ], + "enumDescriptions": [ + "Creation of new objects with Customer-Managed Encryption is not restricted.", + "Creation of new objects with Customer-Managed Encryption is fully restricted." + ] + }, + "effectiveTime": { + "type": "string", + "description": "Server-determined value that indicates the time from which configuration was enforced and effective. This value is in RFC 3339 format.", + "format": "date-time" + } + } + }, + "customerSuppliedEncryptionEnforcementConfig": { + "type": "object", + "description": "If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Customer Supplied Encryption type by default.", + "properties": { + "restrictionMode": { + "type": "string", + "description": "Restriction mode for Customer-Supplied Encryption Keys. Defaults to NotRestricted.", + "enum": [ + "NotRestricted", + "FullyRestricted" + ], + "enumDescriptions": [ + "Creation of new objects with Customer-Supplied Encryption is not restricted.", + "Creation of new objects with Customer-Supplied Encryption is fully restricted." + ] + }, + "effectiveTime": { + "type": "string", + "description": "Server-determined value that indicates the time from which configuration was enforced and effective. This value is in RFC 3339 format.", + "format": "date-time" + } + } } } }, @@ -306,6 +587,14 @@ } } } + }, + "allowCrossOrgVpcs": { + "type": "boolean", + "description": "Whether to allow cross-org VPCs in the bucket's IP filter configuration." + }, + "allowAllServiceAgentAccess": { + "type": "boolean", + "description": "Whether to allow all service agents to access the bucket regardless of the IP filter configuration." } } }, @@ -617,6 +906,23 @@ } } }, + "AdvanceRelocateBucketOperationRequest": { + "id": "AdvanceRelocateBucketOperationRequest", + "type": "object", + "description": "An AdvanceRelocateBucketOperation request.", + "properties": { + "ttl": { + "type": "string", + "description": "Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't succeeded. Optional, if not supplied, a default value of 12h will be used.", + "format": "google-duration" + }, + "expireTime": { + "type": "string", + "description": "Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded.", + "format": "date-time" + } + } + }, "AnywhereCache": { "id": "AnywhereCache", "type": "object", @@ -857,6 +1163,13 @@ "nextPageToken": { "type": "string", "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results." + }, + "unreachable": { + "type": "array", + "description": "The list of bucket resource names that could not be reached during the listing operation.", + "items": { + "type": "string" + } } } }, @@ -1511,6 +1824,24 @@ "description": "An individual metadata entry." } }, + "contexts": { + "type": "object", + "description": "User-defined or system-defined object contexts. Each object context is a key-payload pair, where the key provides the identification and the payload holds the associated value and additional metadata.", + "properties": { + "custom": { + "type": "object", + "description": "User-defined object contexts.", + "additionalProperties": { + "$ref": "ObjectCustomContextPayload", + "description": "A single user-defined object context." + } + } + } + }, + "restoreToken": { + "type": "string", + "description": "Restore token used to differentiate deleted objects with the same name and generation. This field is only returned for deleted objects in hierarchical namespace buckets." + }, "metageneration": { "type": "string", "description": "The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object.", @@ -1581,6 +1912,11 @@ "description": "The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.", "format": "date-time" }, + "timeFinalized": { + "type": "string", + "description": "The time when the object was finalized.", + "format": "date-time" + }, "softDeleteTime": { "type": "string", "description": "The time at which the object became soft-deleted in RFC 3339 format.", @@ -1705,6 +2041,27 @@ } } }, + "ObjectCustomContextPayload": { + "id": "ObjectCustomContextPayload", + "type": "object", + "description": "The payload of a single user-defined object context.", + "properties": { + "value": { + "type": "string", + "description": "The value of the object context." + }, + "createTime": { + "type": "string", + "description": "The time at which the object context was created in RFC 3339 format.", + "format": "date-time" + }, + "updateTime": { + "type": "string", + "description": "The time at which the object context was last updated in RFC 3339 format.", + "format": "date-time" + } + } + }, "Objects": { "id": "Objects", "type": "object", @@ -1752,7 +2109,7 @@ }, "members": { "type": "array", - "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers \u2014 A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers \u2014 A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid \u2014 An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid \u2014 An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid \u2014 An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain \u2014 A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid \u2014 Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid \u2014 Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid \u2014 Viewers of the given project. For example, projectViewer:my-example-project", + "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers - A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers - A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid - An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid - An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid - An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain - A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid - Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid - Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid - Viewers of the given project. For example, projectViewer:my-example-project", "items": { "type": "string" }, @@ -1766,7 +2123,7 @@ }, "role": { "type": "string", - "description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin \u2014 Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer \u2014 Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator \u2014 Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin \u2014 Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader \u2014 Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner \u2014 Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader \u2014 Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter \u2014 Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner \u2014 Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", + "description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin - Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer - Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator - Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin - Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader - Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner - Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader - Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter - Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner - Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", "annotations": { "required": [ "storage.buckets.setIamPolicy", @@ -1806,6 +2163,34 @@ } } }, + "RelocateBucketRequest": { + "id": "RelocateBucketRequest", + "type": "object", + "description": "A Relocate Bucket request.", + "properties": { + "destinationLocation": { + "type": "string", + "description": "The new location the bucket will be relocated to." + }, + "destinationCustomPlacementConfig": { + "type": "object", + "description": "The bucket's new custom placement configuration if relocating to a Custom Dual Region.", + "properties": { + "dataLocations": { + "type": "array", + "description": "The list of regional locations in which data is placed.", + "items": { + "type": "string" + } + } + } + }, + "validateOnly": { + "type": "boolean", + "description": "If true, validate the operation, but do not actually relocate the bucket." + } + } + }, "RewriteResponse": { "id": "RewriteResponse", "type": "object", @@ -1868,7 +2253,7 @@ }, "permissions": { "type": "array", - "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete \u2014 Delete bucket. \n- storage.buckets.get \u2014 Read bucket metadata. \n- storage.buckets.getIamPolicy \u2014 Read bucket IAM policy. \n- storage.buckets.create \u2014 Create bucket. \n- storage.buckets.list \u2014 List buckets. \n- storage.buckets.setIamPolicy \u2014 Update bucket IAM policy. \n- storage.buckets.update \u2014 Update bucket metadata. \n- storage.objects.delete \u2014 Delete object. \n- storage.objects.get \u2014 Read object data and metadata. \n- storage.objects.getIamPolicy \u2014 Read object IAM policy. \n- storage.objects.create \u2014 Create object. \n- storage.objects.list \u2014 List objects. \n- storage.objects.setIamPolicy \u2014 Update object IAM policy. \n- storage.objects.update \u2014 Update object metadata. \n- storage.managedFolders.delete \u2014 Delete managed folder. \n- storage.managedFolders.get \u2014 Read managed folder metadata. \n- storage.managedFolders.getIamPolicy \u2014 Read managed folder IAM policy. \n- storage.managedFolders.create \u2014 Create managed folder. \n- storage.managedFolders.list \u2014 List managed folders. \n- storage.managedFolders.setIamPolicy \u2014 Update managed folder IAM policy.", + "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete - Delete bucket. \n- storage.buckets.get - Read bucket metadata. \n- storage.buckets.getIamPolicy - Read bucket IAM policy. \n- storage.buckets.create - Create bucket. \n- storage.buckets.list - List buckets. \n- storage.buckets.setIamPolicy - Update bucket IAM policy. \n- storage.buckets.update - Update bucket metadata. \n- storage.objects.delete - Delete object. \n- storage.objects.get - Read object data and metadata. \n- storage.objects.getIamPolicy - Read object IAM policy. \n- storage.objects.create - Create object. \n- storage.objects.list - List objects. \n- storage.objects.setIamPolicy - Update object IAM policy. \n- storage.objects.update - Update object metadata. \n- storage.managedFolders.delete - Delete managed folder. \n- storage.managedFolders.get - Read managed folder metadata. \n- storage.managedFolders.getIamPolicy - Read managed folder IAM policy. \n- storage.managedFolders.create - Create managed folder. \n- storage.managedFolders.list - List managed folders. \n- storage.managedFolders.setIamPolicy - Update managed folder IAM policy.", "items": { "type": "string" } @@ -1904,6 +2289,16 @@ "copySourceAcl": { "type": "boolean", "description": "If true, copies the source object's ACL; otherwise, uses the bucket's default object ACL. The default is false." + }, + "createdAfterTime": { + "type": "string", + "description": "Restores only the objects that were created after this time.", + "format": "date-time" + }, + "createdBeforeTime": { + "type": "string", + "description": "Restores only the objects that were created before this time.", + "format": "date-time" } } } @@ -2417,6 +2812,19 @@ "format": "int64", "location": "query" }, + "projection": { + "type": "string", + "description": "Set of properties to return. Defaults to full.", + "enum": [ + "full", + "noAcl" + ], + "enumDescriptions": [ + "Include all properties.", + "Omit owner, acl and defaultObjectAcl properties." + ], + "location": "query" + }, "userProject": { "type": "string", "description": "The project to be billed for this request. Required for Requester Pays buckets.", @@ -2427,6 +2835,37 @@ "bucket", "generation" ], + "response": { + "$ref": "Bucket" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, + "relocate": { + "id": "storage.buckets.relocate", + "path": "b/{bucket}/relocate", + "httpMethod": "POST", + "description": "Initiates a long-running Relocate Bucket operation on the specified bucket.", + "parameters": { + "bucket": { + "type": "string", + "description": "Name of the bucket to be moved.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "bucket" + ], + "request": { + "$ref": "RelocateBucketRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/devstorage.full_control", @@ -2713,6 +3152,11 @@ "type": "string", "description": "The project to be billed for this request.", "location": "query" + }, + "returnPartialSuccess": { + "type": "boolean", + "description": "If true, return a list of bucket resource names for buckets that are in unreachable locations.", + "location": "query" } }, "parameterOrder": [ @@ -3100,6 +3544,38 @@ "https://www.googleapis.com/auth/devstorage.read_write" ] }, + "advanceRelocateBucket": { + "id": "storage.buckets.operations.advanceRelocateBucket", + "path": "b/{bucket}/operations/{operationId}/advanceRelocateBucket", + "httpMethod": "POST", + "description": "Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server makes a best effort to advance the relocate bucket operation, but success is not guaranteed.", + "parameters": { + "bucket": { + "type": "string", + "description": "Name of the bucket to advance the relocate for.", + "required": true, + "location": "path" + }, + "operationId": { + "type": "string", + "description": "ID of the operation resource.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "bucket", + "operationId" + ], + "request": { + "$ref": "AdvanceRelocateBucketOperationRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "list": { "description": "Lists operations that match the specified filter in the request.", "path": "b/{bucket}/operations", @@ -3494,7 +3970,7 @@ }, "recursive": { "type": "boolean", - "description": "If true, any parent folder which doesn\u2019t exist will be created automatically.", + "description": "If true, any parent folder which doesn't exist will be created automatically.", "location": "query" } }, @@ -4718,6 +5194,11 @@ "type": "boolean", "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", "location": "query" + }, + "restoreToken": { + "type": "string", + "description": "Restore token used to differentiate soft-deleted objects with the same name and generation. Only applicable for hierarchical namespace buckets and if softDeleted is set to true. This parameter is optional, and is only required in the rare case when there are multiple soft-deleted objects with the same name and generation.", + "location": "query" } }, "parameterOrder": [ @@ -4982,6 +5463,11 @@ "description": "Filter results to objects and prefixes that match this glob pattern.", "location": "query" }, + "filter": { + "type": "string", + "description": "Filter the returned objects. Currently only supported for the contexts field. If delimiter is set, the returned prefixes are exempt from this filter.", + "location": "query" + }, "softDeleted": { "type": "boolean", "description": "If true, only soft-deleted object versions will be listed. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).", @@ -5274,6 +5760,111 @@ "https://www.googleapis.com/auth/devstorage.read_write" ] }, + "move": { + "id": "storage.objects.move", + "path": "b/{bucket}/o/{sourceObject}/moveTo/o/{destinationObject}", + "httpMethod": "POST", + "description": "Moves the source object to the destination object in the same bucket.", + "parameters": { + "bucket": { + "type": "string", + "description": "Name of the bucket in which the object resides.", + "required": true, + "location": "path" + }, + "sourceObject": { + "type": "string", + "description": "Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", + "required": true, + "location": "path" + }, + "destinationObject": { + "type": "string", + "description": "Name of the destination object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", + "required": true, + "location": "path" + }, + "ifSourceGenerationMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the source object's current generation matches the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifSourceGenerationNotMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the source object's current generation does not match the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifSourceMetagenerationMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the source object's current metageneration matches the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifSourceMetagenerationNotMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifGenerationMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. `ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifGenerationNotMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.`ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifMetagenerationMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the destination object's current metageneration matches the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "ifMetagenerationNotMatch": { + "type": "string", + "description": "Makes the operation conditional on whether the destination object's current metageneration does not match the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query" + }, + "projection": { + "type": "string", + "description": "Set of properties to return. Defaults to noAcl.", + "enum": [ + "full", + "noAcl" + ], + "enumDescriptions": [ + "Include all properties.", + "Omit the owner, acl property." + ], + "location": "query" + }, + "userProject": { + "type": "string", + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query" + } + }, + "parameterOrder": [ + "bucket", + "sourceObject", + "destinationObject" + ], + "response": { + "$ref": "Object" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "setIamPolicy": { "id": "storage.objects.setIamPolicy", "path": "b/{bucket}/o/{object}/iam", @@ -5645,6 +6236,11 @@ "type": "string", "description": "The project to be billed for this request. Required for Requester Pays buckets.", "location": "query" + }, + "restoreToken": { + "type": "string", + "description": "Restore token used to differentiate sof-deleted objects with the same name and generation. Only applicable for hierarchical namespace buckets. This parameter is optional, and is only required in the rare case when there are multiple soft-deleted objects with the same name and generation.", + "location": "query" } }, "parameterOrder": [ @@ -5936,6 +6532,6 @@ } } }, - "revision": "20240831", - "etag": "\"333930333234373737383136303738343630\"" + "revision": "20251114", + "etag": "\"3131343430363139313037363636313331333233\"" } \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 4332bc1..b0dc3e5 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.8") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.9") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") diff --git a/pubsub_v1.json b/pubsub_v1.json new file mode 100644 index 0000000..9e8a688 --- /dev/null +++ b/pubsub_v1.json @@ -0,0 +1,3151 @@ +{ + "id": "pubsub:v1", + "revision": "20250916", + "documentationLink": "https://cloud.google.com/pubsub/docs", + "endpoints": [ + { + "endpointUrl": "https://pubsub.asia-south1.rep.googleapis.com/", + "location": "asia-south1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.asia-south2.rep.googleapis.com/", + "location": "asia-south2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.me-central2.rep.googleapis.com/", + "location": "me-central2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.europe-west3.rep.googleapis.com/", + "location": "europe-west3", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.europe-west8.rep.googleapis.com/", + "location": "europe-west8", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.europe-west9.rep.googleapis.com/", + "location": "europe-west9", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-central1.rep.googleapis.com/", + "location": "us-central1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-central2.rep.googleapis.com/", + "location": "us-central2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-east1.rep.googleapis.com/", + "location": "us-east1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-east4.rep.googleapis.com/", + "location": "us-east4", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-east5.rep.googleapis.com/", + "location": "us-east5", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-south1.rep.googleapis.com/", + "location": "us-south1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-west1.rep.googleapis.com/", + "location": "us-west1", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-west2.rep.googleapis.com/", + "location": "us-west2", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-west3.rep.googleapis.com/", + "location": "us-west3", + "description": "Regional Endpoint" + }, + { + "endpointUrl": "https://pubsub.us-west4.rep.googleapis.com/", + "location": "us-west4", + "description": "Regional Endpoint" + } + ], + "resources": { + "projects": { + "resources": { + "topics": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.topics.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." + }, + "getIamPolicy": { + "id": "pubsub.projects.topics.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy", + "httpMethod": "GET", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." + }, + "testIamPermissions": { + "id": "pubsub.projects.topics.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, + "create": { + "id": "pubsub.projects.topics.create", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "Topic" + }, + "response": { + "$ref": "Topic" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names)." + }, + "patch": { + "id": "pubsub.projects.topics.patch", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "UpdateTopicRequest" + }, + "response": { + "$ref": "Topic" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable." + }, + "publish": { + "id": "pubsub.projects.topics.publish", + "path": "v1/{+topic}:publish", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", + "httpMethod": "POST", + "parameters": { + "topic": { + "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "topic" + ], + "request": { + "$ref": "PublishRequest" + }, + "response": { + "$ref": "PublishResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist." + }, + "get": { + "id": "pubsub.projects.topics.get", + "path": "v1/{+topic}", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "httpMethod": "GET", + "parameters": { + "topic": { + "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Topic" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the configuration of a topic." + }, + "list": { + "id": "pubsub.projects.topics.list", + "path": "v1/{+project}/topics", + "flatPath": "v1/projects/{projectsId}/topics", + "httpMethod": "GET", + "parameters": { + "project": { + "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of topics to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "ListTopicsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists matching topics." + }, + "delete": { + "id": "pubsub.projects.topics.delete", + "path": "v1/{+topic}", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "httpMethod": "DELETE", + "parameters": { + "topic": { + "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`." + } + }, + "resources": { + "subscriptions": { + "methods": { + "list": { + "id": "pubsub.projects.topics.subscriptions.list", + "path": "v1/{+topic}/subscriptions", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", + "httpMethod": "GET", + "parameters": { + "topic": { + "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of subscription names to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists the names of the attached subscriptions on this topic." + } + } + }, + "snapshots": { + "methods": { + "list": { + "id": "pubsub.projects.topics.snapshots.list", + "path": "v1/{+topic}/snapshots", + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots", + "httpMethod": "GET", + "parameters": { + "topic": { + "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.", + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of snapshot names to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "ListTopicSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." + } + } + } + } + }, + "subscriptions": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.subscriptions.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." + }, + "getIamPolicy": { + "id": "pubsub.projects.subscriptions.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", + "httpMethod": "GET", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." + }, + "testIamPermissions": { + "id": "pubsub.projects.subscriptions.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, + "detach": { + "id": "pubsub.projects.subscriptions.detach", + "path": "v1/{+subscription}:detach", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "DetachSubscriptionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop." + }, + "create": { + "id": "pubsub.projects.subscriptions.create", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "Subscription" + }, + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request." + }, + "get": { + "id": "pubsub.projects.subscriptions.get", + "path": "v1/{+subscription}", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "httpMethod": "GET", + "parameters": { + "subscription": { + "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the configuration details of a subscription." + }, + "patch": { + "id": "pubsub.projects.subscriptions.patch", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "UpdateSubscriptionRequest" + }, + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable." + }, + "list": { + "id": "pubsub.projects.subscriptions.list", + "path": "v1/{+project}/subscriptions", + "flatPath": "v1/projects/{projectsId}/subscriptions", + "httpMethod": "GET", + "parameters": { + "project": { + "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of subscriptions to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists matching subscriptions." + }, + "delete": { + "id": "pubsub.projects.subscriptions.delete", + "path": "v1/{+subscription}", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "httpMethod": "DELETE", + "parameters": { + "subscription": { + "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified." + }, + "modifyAckDeadline": { + "id": "pubsub.projects.subscriptions.modifyAckDeadline", + "path": "v1/{+subscription}:modifyAckDeadline", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "ModifyAckDeadlineRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages." + }, + "acknowledge": { + "id": "pubsub.projects.subscriptions.acknowledge", + "path": "v1/{+subscription}:acknowledge", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "AcknowledgeRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error." + }, + "pull": { + "id": "pubsub.projects.subscriptions.pull", + "path": "v1/{+subscription}:pull", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "PullResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Pulls messages from the server." + }, + "modifyPushConfig": { + "id": "pubsub.projects.subscriptions.modifyPushConfig", + "path": "v1/{+subscription}:modifyPushConfig", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "ModifyPushConfigRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`." + }, + "seek": { + "id": "pubsub.projects.subscriptions.seek", + "path": "v1/{+subscription}:seek", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", + "httpMethod": "POST", + "parameters": { + "subscription": { + "description": "Required. The subscription to affect.", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "SeekRequest" + }, + "response": { + "$ref": "SeekResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic." + } + } + }, + "snapshots": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.snapshots.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." + }, + "getIamPolicy": { + "id": "pubsub.projects.snapshots.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", + "httpMethod": "GET", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." + }, + "testIamPermissions": { + "id": "pubsub.projects.snapshots.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, + "get": { + "id": "pubsub.projects.snapshots.get", + "path": "v1/{+snapshot}", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "parameters": { + "snapshot": { + "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "snapshot" + ], + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." + }, + "list": { + "id": "pubsub.projects.snapshots.list", + "path": "v1/{+project}/snapshots", + "flatPath": "v1/projects/{projectsId}/snapshots", + "httpMethod": "GET", + "parameters": { + "project": { + "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of snapshots to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." + }, + "create": { + "id": "pubsub.projects.snapshots.create", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the [resource name rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). Format is `projects/{project}/snapshots/{snap}`.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "CreateSnapshotRequest" + }, + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request." + }, + "patch": { + "id": "pubsub.projects.snapshots.patch", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "httpMethod": "PATCH", + "parameters": { + "name": { + "description": "Optional. The name of the snapshot.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "UpdateSnapshotRequest" + }, + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." + }, + "delete": { + "id": "pubsub.projects.snapshots.delete", + "path": "v1/{+snapshot}", + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "parameters": { + "snapshot": { + "description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "snapshot" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified." + } + } + }, + "schemas": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.schemas.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:setIamPolicy", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." + }, + "getIamPolicy": { + "id": "pubsub.projects.schemas.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:getIamPolicy", + "httpMethod": "GET", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "location": "query", + "type": "integer", + "format": "int32" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." + }, + "testIamPermissions": { + "id": "pubsub.projects.schemas.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:testIamPermissions", + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." + }, + "create": { + "id": "pubsub.projects.schemas.create", + "path": "v1/{+parent}/schemas", + "flatPath": "v1/projects/{projectsId}/schemas", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the project in which to create the schema. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "schemaId": { + "description": "The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "Schema" + }, + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Creates a schema." + }, + "get": { + "id": "pubsub.projects.schemas.get", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "view": { + "description": "The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to `BASIC` to omit the `definition`.", + "location": "query", + "type": "string", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include the name and type of the schema, but not the definition.", + "Include all Schema object fields." + ], + "enum": [ + "SCHEMA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ] + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Gets a schema." + }, + "list": { + "id": "pubsub.projects.schemas.list", + "path": "v1/{+parent}/schemas", + "flatPath": "v1/projects/{projectsId}/schemas", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The name of the project in which to list schemas. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "view": { + "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", + "location": "query", + "type": "string", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include the name and type of the schema, but not the definition.", + "Include all Schema object fields." + ], + "enum": [ + "SCHEMA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ] + }, + "pageSize": { + "description": "Maximum number of schemas to return.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The value returned by the last `ListSchemasResponse`; indicates that this is a continuation of a prior `ListSchemas` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListSchemasResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists schemas in a project." + }, + "listRevisions": { + "id": "pubsub.projects.schemas.listRevisions", + "path": "v1/{+name}:listRevisions", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:listRevisions", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the schema to list revisions for.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "view": { + "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", + "location": "query", + "type": "string", + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include the name and type of the schema, but not the definition.", + "Include all Schema object fields." + ], + "enum": [ + "SCHEMA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ] + }, + "pageSize": { + "description": "The maximum number of revisions to return per page.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListSchemaRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Lists all schema revisions for the named schema." + }, + "commit": { + "id": "pubsub.projects.schemas.commit", + "path": "v1/{+name}:commit", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:commit", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "CommitSchemaRequest" + }, + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Commits a new schema revision to an existing schema." + }, + "rollback": { + "id": "pubsub.projects.schemas.rollback", + "path": "v1/{+name}:rollback", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:rollback", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "Required. The schema being rolled back with revision id.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "RollbackSchemaRequest" + }, + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Creates a new schema revision that is a copy of the provided revision_id." + }, + "deleteRevision": { + "id": "pubsub.projects.schemas.deleteRevision", + "path": "v1/{+name}:deleteRevision", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:deleteRevision", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. The name of the schema revision to be deleted, with a revision ID explicitly included. Example: `projects/123/schemas/my-schema@c7cfa2a8`", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + }, + "revisionId": { + "description": "Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the `name` parameter.", + "location": "query", + "deprecated": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Deletes a specific schema revision." + }, + "delete": { + "id": "pubsub.projects.schemas.delete", + "path": "v1/{+name}", + "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`.", + "pattern": "^projects/[^/]+/schemas/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Deletes a schema." + }, + "validate": { + "id": "pubsub.projects.schemas.validate", + "path": "v1/{+parent}/schemas:validate", + "flatPath": "v1/projects/{projectsId}/schemas:validate", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "ValidateSchemaRequest" + }, + "response": { + "$ref": "ValidateSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Validates a schema." + }, + "validateMessage": { + "id": "pubsub.projects.schemas.validateMessage", + "path": "v1/{+parent}/schemas:validateMessage", + "flatPath": "v1/projects/{projectsId}/schemas:validateMessage", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", + "pattern": "^projects/[^/]+$", + "location": "path", + "required": true, + "type": "string" + } + }, + "parameterOrder": [ + "parent" + ], + "request": { + "$ref": "ValidateMessageRequest" + }, + "response": { + "$ref": "ValidateMessageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "description": "Validates a message against a schema." + } + } + } + } + } + }, + "basePath": "", + "discoveryVersion": "v1", + "ownerDomain": "google.com", + "title": "Cloud Pub/Sub API", + "mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/pubsub": { + "description": "View and manage Pub/Sub topics and subscriptions" + } + } + } + }, + "ownerName": "Google", + "version": "v1", + "schemas": { + "SetIamPolicyRequest": { + "id": "SetIamPolicyRequest", + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", + "$ref": "Policy" + } + } + }, + "Policy": { + "id": "Policy", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "type": "object", + "properties": { + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "type": "integer", + "format": "int32" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "type": "array", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "type": "string", + "format": "byte" + } + } + }, + "Binding": { + "id": "Binding", + "description": "Associates `members`, or principals, with a `role`.", + "type": "object", + "properties": { + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "type": "array", + "items": { + "type": "string" + } + }, + "condition": { + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "$ref": "Expr" + } + } + }, + "Expr": { + "id": "Expr", + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "type": "object", + "properties": { + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + } + } + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Schema": { + "id": "Schema", + "description": "A schema resource.", + "type": "object", + "properties": { + "name": { + "description": "Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`.", + "type": "string" + }, + "type": { + "description": "The type of the schema definition.", + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "A Protocol Buffer schema definition.", + "An Avro schema definition." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PROTOCOL_BUFFER", + "AVRO" + ] + }, + "definition": { + "description": "The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`.", + "type": "string" + }, + "revisionId": { + "description": "Output only. Immutable. The revision ID of the schema.", + "readOnly": true, + "type": "string" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp that the revision was created.", + "readOnly": true, + "type": "string", + "format": "google-datetime" + } + } + }, + "ListSchemasResponse": { + "id": "ListSchemasResponse", + "description": "Response for the `ListSchemas` method.", + "type": "object", + "properties": { + "schemas": { + "description": "The resulting schemas.", + "type": "array", + "items": { + "$ref": "Schema" + } + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more schemas that match the request; this value should be passed in a new `ListSchemasRequest`.", + "type": "string" + } + } + }, + "ListSchemaRevisionsResponse": { + "id": "ListSchemaRevisionsResponse", + "description": "Response for the `ListSchemaRevisions` method.", + "type": "object", + "properties": { + "schemas": { + "description": "The revisions of the schema.", + "type": "array", + "items": { + "$ref": "Schema" + } + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", + "type": "string" + } + } + }, + "CommitSchemaRequest": { + "id": "CommitSchemaRequest", + "description": "Request for CommitSchema method.", + "type": "object", + "properties": { + "schema": { + "description": "Required. The schema revision to commit.", + "$ref": "Schema" + } + } + }, + "RollbackSchemaRequest": { + "id": "RollbackSchemaRequest", + "description": "Request for the `RollbackSchema` method.", + "type": "object", + "properties": { + "revisionId": { + "description": "Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8", + "type": "string" + } + } + }, + "Empty": { + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "type": "object", + "properties": {} + }, + "ValidateSchemaRequest": { + "id": "ValidateSchemaRequest", + "description": "Request for the `ValidateSchema` method.", + "type": "object", + "properties": { + "schema": { + "description": "Required. The schema object to validate.", + "$ref": "Schema" + } + } + }, + "ValidateSchemaResponse": { + "id": "ValidateSchemaResponse", + "description": "Response for the `ValidateSchema` method. Empty for now.", + "type": "object", + "properties": {} + }, + "ValidateMessageRequest": { + "id": "ValidateMessageRequest", + "description": "Request for the `ValidateMessage` method.", + "type": "object", + "properties": { + "name": { + "description": "Name of the schema against which to validate. Format is `projects/{project}/schemas/{schema}`.", + "type": "string" + }, + "schema": { + "description": "Ad-hoc schema against which to validate", + "$ref": "Schema" + }, + "message": { + "description": "Message to validate against the provided `schema_spec`.", + "type": "string", + "format": "byte" + }, + "encoding": { + "description": "The encoding expected for messages", + "type": "string", + "enumDescriptions": [ + "Unspecified", + "JSON encoding", + "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." + ], + "enum": [ + "ENCODING_UNSPECIFIED", + "JSON", + "BINARY" + ] + } + } + }, + "ValidateMessageResponse": { + "id": "ValidateMessageResponse", + "description": "Response for the `ValidateMessage` method. Empty for now.", + "type": "object", + "properties": {} + }, + "Topic": { + "id": "Topic", + "description": "A topic resource.", + "type": "object", + "properties": { + "name": { + "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "type": "string" + }, + "labels": { + "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "messageStoragePolicy": { + "description": "Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.", + "$ref": "MessageStoragePolicy" + }, + "kmsKeyName": { + "description": "Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + }, + "schemaSettings": { + "description": "Optional. Settings for validating messages published against a schema.", + "$ref": "SchemaSettings" + }, + "satisfiesPzs": { + "description": "Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.", + "type": "boolean" + }, + "messageRetentionDuration": { + "description": "Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes.", + "type": "string", + "format": "google-duration" + }, + "state": { + "description": "Output only. An output-only field indicating the state of the topic.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The topic does not have any persistent errors.", + "Ingestion from the data source has encountered a permanent error. See the more detailed error state in the corresponding ingestion source configuration." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INGESTION_RESOURCE_ERROR" + ] + }, + "ingestionDataSourceSettings": { + "description": "Optional. Settings for ingestion from a data source into this topic.", + "$ref": "IngestionDataSourceSettings" + }, + "messageTransforms": { + "description": "Optional. Transforms to be applied to messages published to the topic. Transforms are applied in the order specified.", + "type": "array", + "items": { + "$ref": "MessageTransform" + } + } + } + }, + "MessageStoragePolicy": { + "id": "MessageStoragePolicy", + "description": "A policy constraining the storage of messages published to the topic.", + "type": "object", + "properties": { + "allowedPersistenceRegions": { + "description": "Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.", + "type": "array", + "items": { + "type": "string" + } + }, + "enforceInTransit": { + "description": "Optional. If true, `allowed_persistence_regions` is also used to enforce in-transit guarantees for messages. That is, Pub/Sub will fail Publish operations on this topic and subscribe operations on any subscription attached to this topic in any region that is not in `allowed_persistence_regions`.", + "type": "boolean" + } + } + }, + "SchemaSettings": { + "id": "SchemaSettings", + "description": "Settings for validating messages published against a schema.", + "type": "object", + "properties": { + "schema": { + "description": "Required. The name of the schema that messages published should be validated against. Format is `projects/{project}/schemas/{schema}`. The value of this field will be `_deleted-schema_` if the schema has been deleted.", + "type": "string" + }, + "encoding": { + "description": "Optional. The encoding of messages validated against `schema`.", + "type": "string", + "enumDescriptions": [ + "Unspecified", + "JSON encoding", + "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." + ], + "enum": [ + "ENCODING_UNSPECIFIED", + "JSON", + "BINARY" + ] + }, + "firstRevisionId": { + "description": "Optional. The minimum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against last_revision or any revision created before.", + "type": "string" + }, + "lastRevisionId": { + "description": "Optional. The maximum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against first_revision or any revision created after.", + "type": "string" + } + } + }, + "IngestionDataSourceSettings": { + "id": "IngestionDataSourceSettings", + "description": "Settings for an ingestion data source on a topic.", + "type": "object", + "properties": { + "awsKinesis": { + "description": "Optional. Amazon Kinesis Data Streams.", + "$ref": "AwsKinesis" + }, + "cloudStorage": { + "description": "Optional. Cloud Storage.", + "$ref": "CloudStorage" + }, + "azureEventHubs": { + "description": "Optional. Azure Event Hubs.", + "$ref": "AzureEventHubs" + }, + "awsMsk": { + "description": "Optional. Amazon MSK.", + "$ref": "AwsMsk" + }, + "confluentCloud": { + "description": "Optional. Confluent Cloud.", + "$ref": "ConfluentCloud" + }, + "platformLogsSettings": { + "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated.", + "$ref": "PlatformLogsSettings" + } + } + }, + "AwsKinesis": { + "id": "AwsKinesis", + "description": "Ingestion settings for Amazon Kinesis Data Streams.", + "type": "object", + "properties": { + "state": { + "description": "Output only. An output-only field that indicates the state of the Kinesis ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Kinesis. This can happen if: - The provided `aws_role_arn` does not exist or does not have the appropriate permissions attached. - The provided `aws_role_arn` is not set up properly for Identity Federation using `gcp_service_account`. - The Pub/Sub SA is not granted the `iam.serviceAccounts.getOpenIdToken` permission on `gcp_service_account`.", + "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", + "The Kinesis stream does not exist.", + "The Kinesis consumer does not exist." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "KINESIS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "STREAM_NOT_FOUND", + "CONSUMER_NOT_FOUND" + ] + }, + "streamArn": { + "description": "Required. The Kinesis stream ARN to ingest data from.", + "type": "string" + }, + "consumerArn": { + "description": "Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out mode. The consumer must be already created and ready to be used.", + "type": "string" + }, + "awsRoleArn": { + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Kinesis. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + } + } + }, + "CloudStorage": { + "id": "CloudStorage", + "description": "Ingestion settings for Cloud Storage.", + "type": "object", + "properties": { + "state": { + "description": "Output only. An output-only field that indicates the state of the Cloud Storage ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while calling the Cloud Storage API. This can happen if the Pub/Sub SA has not been granted the [appropriate permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): - storage.objects.list: to list the objects in a bucket. - storage.objects.get: to read the objects in a bucket. - storage.buckets.get: to verify the bucket exists.", + "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", + "The provided Cloud Storage bucket doesn't exist.", + "The Cloud Storage bucket has too many objects, ingestion will be paused." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CLOUD_STORAGE_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "BUCKET_NOT_FOUND", + "TOO_MANY_OBJECTS" + ] + }, + "bucket": { + "description": "Optional. Cloud Storage bucket. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", + "type": "string" + }, + "textFormat": { + "description": "Optional. Data from Cloud Storage will be interpreted as text.", + "$ref": "TextFormat" + }, + "avroFormat": { + "description": "Optional. Data from Cloud Storage will be interpreted in Avro format.", + "$ref": "AvroFormat" + }, + "pubsubAvroFormat": { + "description": "Optional. It will be assumed data from Cloud Storage was written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage).", + "$ref": "PubSubAvroFormat" + }, + "minimumObjectCreateTime": { + "description": "Optional. Only objects with a larger or equal creation timestamp will be ingested.", + "type": "string", + "format": "google-datetime" + }, + "matchGlob": { + "description": "Optional. Glob pattern used to match objects that will be ingested. If unset, all objects will be ingested. See the [supported patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob).", + "type": "string" + } + } + }, + "TextFormat": { + "id": "TextFormat", + "description": "Configuration for reading Cloud Storage data in text format. Each line of text as specified by the delimiter will be set to the `data` field of a Pub/Sub message.", + "type": "object", + "properties": { + "delimiter": { + "description": "Optional. When unset, '\\n' is used.", + "type": "string" + } + } + }, + "AvroFormat": { + "id": "AvroFormat", + "description": "Configuration for reading Cloud Storage data in Avro binary format. The bytes of each object will be set to the `data` field of a Pub/Sub message.", + "type": "object", + "properties": {} + }, + "PubSubAvroFormat": { + "id": "PubSubAvroFormat", + "description": "Configuration for reading Cloud Storage data written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The data and attributes fields of the originally exported Pub/Sub message will be restored when publishing.", + "type": "object", + "properties": {} + }, + "AzureEventHubs": { + "id": "AzureEventHubs", + "description": "Ingestion settings for Azure Event Hubs.", + "type": "object", + "properties": { + "state": { + "description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Event Hubs. This can happen when `client_id`, or `tenant_id` are invalid. Or the right permissions haven't been granted.", + "Permission denied encountered while publishing to the topic.", + "The provided Event Hubs namespace couldn't be found.", + "The provided Event Hub couldn't be found.", + "The provided Event Hubs subscription couldn't be found.", + "The provided Event Hubs resource group couldn't be found." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "EVENT_HUBS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "NAMESPACE_NOT_FOUND", + "EVENT_HUB_NOT_FOUND", + "SUBSCRIPTION_NOT_FOUND", + "RESOURCE_GROUP_NOT_FOUND" + ] + }, + "resourceGroup": { + "description": "Optional. Name of the resource group within the azure subscription.", + "type": "string" + }, + "namespace": { + "description": "Optional. The name of the Event Hubs namespace.", + "type": "string" + }, + "eventHub": { + "description": "Optional. The name of the Event Hub.", + "type": "string" + }, + "clientId": { + "description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + }, + "tenantId": { + "description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + }, + "subscriptionId": { + "description": "Optional. The Azure subscription id.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Optional. The GCP service account to be used for Federated Identity authentication.", + "type": "string" + } + } + }, + "AwsMsk": { + "id": "AwsMsk", + "description": "Ingestion settings for Amazon MSK.", + "type": "object", + "properties": { + "state": { + "description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Amazon MSK.", + "Permission denied encountered while publishing to the topic.", + "The provided MSK cluster wasn't found.", + "The provided topic wasn't found." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "MSK_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ] + }, + "clusterArn": { + "description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", + "type": "string" + }, + "awsRoleArn": { + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + } + } + }, + "ConfluentCloud": { + "id": "ConfluentCloud", + "description": "Ingestion settings for Confluent Cloud.", + "type": "object", + "properties": { + "state": { + "description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Confluent Cloud.", + "Permission denied encountered while publishing to the topic.", + "The provided bootstrap server address is unreachable.", + "The provided cluster wasn't found.", + "The provided topic wasn't found." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CONFLUENT_CLOUD_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "UNREACHABLE_BOOTSTRAP_SERVER", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ] + }, + "bootstrapServer": { + "description": "Required. The address of the bootstrap server. The format is url:port.", + "type": "string" + }, + "clusterId": { + "description": "Required. The id of the cluster.", + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from.", + "type": "string" + }, + "identityPoolId": { + "description": "Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", + "type": "string" + } + } + }, + "PlatformLogsSettings": { + "id": "PlatformLogsSettings", + "description": "Settings for Platform Logs produced by Pub/Sub.", + "type": "object", + "properties": { + "severity": { + "description": "Optional. The minimum severity level of Platform Logs that will be written.", + "type": "string", + "enumDescriptions": [ + "Default value. Logs level is unspecified. Logs will be disabled.", + "Logs will be disabled.", + "Debug logs and higher-severity logs will be written.", + "Info logs and higher-severity logs will be written.", + "Warning logs and higher-severity logs will be written.", + "Only error logs will be written." + ], + "enum": [ + "SEVERITY_UNSPECIFIED", + "DISABLED", + "DEBUG", + "INFO", + "WARNING", + "ERROR" + ] + } + } + }, + "MessageTransform": { + "id": "MessageTransform", + "description": "All supported message transforms types.", + "type": "object", + "properties": { + "javascriptUdf": { + "description": "Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique `function_name`.", + "$ref": "JavaScriptUDF" + }, + "enabled": { + "description": "Optional. This field is deprecated, use the `disabled` field to disable transforms.", + "deprecated": true, + "type": "boolean" + }, + "disabled": { + "description": "Optional. If true, the transform is disabled and will not be applied to messages. Defaults to `false`.", + "type": "boolean" + } + } + }, + "JavaScriptUDF": { + "id": "JavaScriptUDF", + "description": "User-defined JavaScript function that can transform or filter a Pub/Sub message.", + "type": "object", + "properties": { + "functionName": { + "description": "Required. Name of the JavasScript function that should applied to Pub/Sub messages.", + "type": "string" + }, + "code": { + "description": "Required. JavaScript code that contains a function `function_name` with the below signature: ``` /** * Transforms a Pub/Sub message. * @return {(Object)\u003e|null)} - To * filter a message, return `null`. To transform a message return a map * with the following keys: * - (required) 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty `attributes` will remove all attributes from the * message. * * @param {(Object)\u003e} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub message metadata. * Keys: * - (optional) 'message_id' : {string} * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - (optional) 'ordering_key': {string} */ function (message, metadata) { } ```", + "type": "string" + } + } + }, + "UpdateTopicRequest": { + "id": "UpdateTopicRequest", + "description": "Request for the UpdateTopic method.", + "type": "object", + "properties": { + "topic": { + "description": "Required. The updated topic object.", + "$ref": "Topic" + }, + "updateMask": { + "description": "Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains \"message_storage_policy\" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level.", + "type": "string", + "format": "google-fieldmask" + } + } + }, + "PublishRequest": { + "id": "PublishRequest", + "description": "Request for the Publish method.", + "type": "object", + "properties": { + "messages": { + "description": "Required. The messages to publish.", + "type": "array", + "items": { + "$ref": "PubsubMessage" + } + } + } + }, + "PubsubMessage": { + "id": "PubsubMessage", + "description": "A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.", + "type": "object", + "properties": { + "data": { + "description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", + "type": "string", + "format": "byte" + }, + "attributes": { + "description": "Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "messageId": { + "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.", + "type": "string" + }, + "publishTime": { + "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.", + "type": "string", + "format": "google-datetime" + }, + "orderingKey": { + "description": "Optional. If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering).", + "type": "string" + } + } + }, + "PublishResponse": { + "id": "PublishResponse", + "description": "Response for the `Publish` method.", + "type": "object", + "properties": { + "messageIds": { + "description": "Optional. The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ListTopicsResponse": { + "id": "ListTopicsResponse", + "description": "Response for the `ListTopics` method.", + "type": "object", + "properties": { + "topics": { + "description": "Optional. The resulting topics.", + "type": "array", + "items": { + "$ref": "Topic" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.", + "type": "string" + } + } + }, + "ListTopicSubscriptionsResponse": { + "id": "ListTopicSubscriptionsResponse", + "description": "Response for the `ListTopicSubscriptions` method.", + "type": "object", + "properties": { + "subscriptions": { + "description": "Optional. The names of subscriptions attached to the topic specified in the request.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions.", + "type": "string" + } + } + }, + "ListTopicSnapshotsResponse": { + "id": "ListTopicSnapshotsResponse", + "description": "Response for the `ListTopicSnapshots` method.", + "type": "object", + "properties": { + "snapshots": { + "description": "Optional. The names of the snapshots that match the request.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new `ListTopicSnapshotsRequest` to get more snapshots.", + "type": "string" + } + } + }, + "DetachSubscriptionResponse": { + "id": "DetachSubscriptionResponse", + "description": "Response for the DetachSubscription method. Reserved for future use.", + "type": "object", + "properties": {} + }, + "Subscription": { + "id": "Subscription", + "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", + "type": "object", + "properties": { + "name": { + "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.", + "type": "string" + }, + "pushConfig": { + "description": "Optional. If push delivery is used with this subscription, this field is used to configure it.", + "$ref": "PushConfig" + }, + "bigqueryConfig": { + "description": "Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it.", + "$ref": "BigQueryConfig" + }, + "cloudStorageConfig": { + "description": "Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it.", + "$ref": "CloudStorageConfig" + }, + "ackDeadlineSeconds": { + "description": "Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be _outstanding_. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.", + "type": "integer", + "format": "int32" + }, + "retainAckedMessages": { + "description": "Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", + "type": "boolean" + }, + "messageRetentionDuration": { + "description": "Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 31 days or less than 10 minutes.", + "type": "string", + "format": "google-duration" + }, + "labels": { + "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "enableMessageOrdering": { + "description": "Optional. If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.", + "type": "boolean" + }, + "expirationPolicy": { + "description": "Optional. A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, but `expiration_policy.ttl` is not set, the subscription never expires.", + "$ref": "ExpirationPolicy" + }, + "filter": { + "description": "Optional. An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.", + "type": "string" + }, + "deadLetterPolicy": { + "description": "Optional. A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription.", + "$ref": "DeadLetterPolicy" + }, + "retryPolicy": { + "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message.", + "$ref": "RetryPolicy" + }, + "detached": { + "description": "Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.", + "type": "boolean" + }, + "enableExactlyOnceDelivery": { + "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", + "type": "boolean" + }, + "topicMessageRetentionDuration": { + "description": "Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.", + "readOnly": true, + "type": "string", + "format": "google-duration" + }, + "state": { + "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively receive messages", + "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "RESOURCE_ERROR" + ] + }, + "analyticsHubSubscriptionInfo": { + "description": "Output only. Information about the associated Analytics Hub subscription. Only set if the subscritpion is created by Analytics Hub.", + "readOnly": true, + "$ref": "AnalyticsHubSubscriptionInfo" + }, + "messageTransforms": { + "description": "Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified.", + "type": "array", + "items": { + "$ref": "MessageTransform" + } + } + } + }, + "PushConfig": { + "id": "PushConfig", + "description": "Configuration for a push delivery endpoint.", + "type": "object", + "properties": { + "pushEndpoint": { + "description": "Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `https://example.com/push`.", + "type": "string" + }, + "attributes": { + "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "oidcToken": { + "description": "Optional. If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message.", + "$ref": "OidcToken" + }, + "pubsubWrapper": { + "description": "Optional. When set, the payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", + "$ref": "PubsubWrapper" + }, + "noWrapper": { + "description": "Optional. When set, the payload to the push endpoint is not wrapped.", + "$ref": "NoWrapper" + } + } + }, + "OidcToken": { + "id": "OidcToken", + "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).", + "type": "object", + "properties": { + "serviceAccountEmail": { + "description": "Optional. [Service account email](https://cloud.google.com/iam/docs/service-accounts) used for generating the OIDC token. For more information on setting up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/docs/push).", + "type": "string" + }, + "audience": { + "description": "Optional. Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.", + "type": "string" + } + } + }, + "PubsubWrapper": { + "id": "PubsubWrapper", + "description": "The payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", + "type": "object", + "properties": {} + }, + "NoWrapper": { + "id": "NoWrapper", + "description": "Sets the `data` field as the HTTP body for delivery.", + "type": "object", + "properties": { + "writeMetadata": { + "description": "Optional. When true, writes the Pub/Sub message metadata to `x-goog-pubsub-:` headers of the HTTP request. Writes the Pub/Sub message attributes to `:` headers of the HTTP request.", + "type": "boolean" + } + } + }, + "BigQueryConfig": { + "id": "BigQueryConfig", + "description": "Configuration for a BigQuery subscription.", + "type": "object", + "properties": { + "table": { + "description": "Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}", + "type": "string" + }, + "useTopicSchema": { + "description": "Optional. When true, use the topic's schema as the columns to write to in BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be enabled at the same time.", + "type": "boolean" + }, + "writeMetadata": { + "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.", + "type": "boolean" + }, + "dropUnknownFields": { + "description": "Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.", + "type": "boolean" + }, + "state": { + "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively send messages to BigQuery", + "Cannot write to the BigQuery table because of permission denied errors. This can happen if - Pub/Sub SA has not been granted the [appropriate BigQuery IAM permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account) - bigquery.googleapis.com API is not enabled for the project ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))", + "Cannot write to the BigQuery table because it does not exist.", + "Cannot write to the BigQuery table due to a schema mismatch.", + "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PERMISSION_DENIED", + "NOT_FOUND", + "SCHEMA_MISMATCH", + "IN_TRANSIT_LOCATION_RESTRICTION" + ] + }, + "useTableSchema": { + "description": "Optional. When true, use the BigQuery table's schema as the columns to write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at the same time.", + "type": "boolean" + }, + "serviceAccountEmail": { + "description": "Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", + "type": "string" + } + } + }, + "CloudStorageConfig": { + "id": "CloudStorageConfig", + "description": "Configuration for a Cloud Storage subscription.", + "type": "object", + "properties": { + "bucket": { + "description": "Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", + "type": "string" + }, + "filenamePrefix": { + "description": "Optional. User-provided prefix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming).", + "type": "string" + }, + "filenameSuffix": { + "description": "Optional. User-provided suffix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming). Must not end in \"/\".", + "type": "string" + }, + "filenameDatetimeFormat": { + "description": "Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the [datetime format guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).", + "type": "string" + }, + "textConfig": { + "description": "Optional. If set, message data will be written to Cloud Storage in text format.", + "$ref": "TextConfig" + }, + "avroConfig": { + "description": "Optional. If set, message data will be written to Cloud Storage in Avro format.", + "$ref": "AvroConfig" + }, + "maxDuration": { + "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline.", + "type": "string", + "format": "google-duration" + }, + "maxBytes": { + "description": "Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit.", + "type": "string", + "format": "int64" + }, + "maxMessages": { + "description": "Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages.", + "type": "string", + "format": "int64" + }, + "state": { + "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", + "readOnly": true, + "type": "string", + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively send messages to Cloud Storage.", + "Cannot write to the Cloud Storage bucket because of permission denied errors.", + "Cannot write to the Cloud Storage bucket because it does not exist.", + "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions.", + "Cannot write to the Cloud Storage bucket due to an incompatibility between the topic schema and subscription settings." + ], + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PERMISSION_DENIED", + "NOT_FOUND", + "IN_TRANSIT_LOCATION_RESTRICTION", + "SCHEMA_MISMATCH" + ] + }, + "serviceAccountEmail": { + "description": "Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", + "type": "string" + } + } + }, + "TextConfig": { + "id": "TextConfig", + "description": "Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.", + "type": "object", + "properties": {} + }, + "AvroConfig": { + "id": "AvroConfig", + "description": "Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary.", + "type": "object", + "properties": { + "writeMetadata": { + "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key as additional fields in the output. The subscription name, message_id, and publish_time fields are put in their own fields while all other message properties other than data (for example, an ordering_key, if present) are added as entries in the attributes map.", + "type": "boolean" + }, + "useTopicSchema": { + "description": "Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists.", + "type": "boolean" + } + } + }, + "ExpirationPolicy": { + "id": "ExpirationPolicy", + "description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).", + "type": "object", + "properties": { + "ttl": { + "description": "Optional. Specifies the \"time-to-live\" duration for an associated resource. The resource expires if it is not active for a period of `ttl`. The definition of \"activity\" depends on the type of the associated resource. The minimum and maximum allowed values for `ttl` depend on the type of the associated resource, as well. If `ttl` is not set, the associated resource never expires.", + "type": "string", + "format": "google-duration" + } + } + }, + "DeadLetterPolicy": { + "id": "DeadLetterPolicy", + "description": "Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.", + "type": "object", + "properties": { + "deadLetterTopic": { + "description": "Optional. The name of the topic to which dead letter messages should be published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.", + "type": "string" + }, + "maxDeliveryAttempts": { + "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", + "type": "integer", + "format": "int32" + } + } + }, + "RetryPolicy": { + "id": "RetryPolicy", + "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", + "type": "object", + "properties": { + "minimumBackoff": { + "description": "Optional. The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.", + "type": "string", + "format": "google-duration" + }, + "maximumBackoff": { + "description": "Optional. The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.", + "type": "string", + "format": "google-duration" + } + } + }, + "AnalyticsHubSubscriptionInfo": { + "id": "AnalyticsHubSubscriptionInfo", + "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", + "type": "object", + "properties": { + "listing": { + "description": "Optional. The name of the associated Analytics Hub listing resource. Pattern: \"projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}\"", + "type": "string" + }, + "subscription": { + "description": "Optional. The name of the associated Analytics Hub subscription resource. Pattern: \"projects/{project}/locations/{location}/subscriptions/{subscription}\"", + "type": "string" + } + } + }, + "UpdateSubscriptionRequest": { + "id": "UpdateSubscriptionRequest", + "description": "Request for the UpdateSubscription method.", + "type": "object", + "properties": { + "subscription": { + "description": "Required. The updated subscription object.", + "$ref": "Subscription" + }, + "updateMask": { + "description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.", + "type": "string", + "format": "google-fieldmask" + } + } + }, + "ListSubscriptionsResponse": { + "id": "ListSubscriptionsResponse", + "description": "Response for the `ListSubscriptions` method.", + "type": "object", + "properties": { + "subscriptions": { + "description": "Optional. The subscriptions that match the request.", + "type": "array", + "items": { + "$ref": "Subscription" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions.", + "type": "string" + } + } + }, + "ModifyAckDeadlineRequest": { + "id": "ModifyAckDeadlineRequest", + "description": "Request for the ModifyAckDeadline method.", + "type": "object", + "properties": { + "ackIds": { + "description": "Required. List of acknowledgment IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "ackDeadlineSeconds": { + "description": "Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify in a single request is 600 seconds (10 minutes).", + "type": "integer", + "format": "int32" + } + } + }, + "AcknowledgeRequest": { + "id": "AcknowledgeRequest", + "description": "Request for the Acknowledge method.", + "type": "object", + "properties": { + "ackIds": { + "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PullRequest": { + "id": "PullRequest", + "description": "Request for the `Pull` method.", + "type": "object", + "properties": { + "returnImmediately": { + "description": "Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the `Pull` response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field.", + "deprecated": true, + "type": "boolean" + }, + "maxMessages": { + "description": "Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.", + "type": "integer", + "format": "int32" + } + } + }, + "PullResponse": { + "id": "PullResponse", + "description": "Response for the `Pull` method.", + "type": "object", + "properties": { + "receivedMessages": { + "description": "Optional. Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog, or if no messages could be returned before the request timeout. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", + "type": "array", + "items": { + "$ref": "ReceivedMessage" + } + } + } + }, + "ReceivedMessage": { + "id": "ReceivedMessage", + "description": "A message and its corresponding acknowledgment ID.", + "type": "object", + "properties": { + "ackId": { + "description": "Optional. This ID can be used to acknowledge the received message.", + "type": "string" + }, + "message": { + "description": "Optional. The message.", + "$ref": "PubsubMessage" + }, + "deliveryAttempt": { + "description": "Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, `delivery_attempt` will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0.", + "type": "integer", + "format": "int32" + } + } + }, + "ModifyPushConfigRequest": { + "id": "ModifyPushConfigRequest", + "description": "Request for the ModifyPushConfig method.", + "type": "object", + "properties": { + "pushConfig": { + "description": "Required. The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` or `StreamingPull` is not called.", + "$ref": "PushConfig" + } + } + }, + "Snapshot": { + "id": "Snapshot", + "description": "A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "type": "object", + "properties": { + "name": { + "description": "Optional. The name of the snapshot.", + "type": "string" + }, + "topic": { + "description": "Optional. The name of the topic from which this snapshot is retaining messages.", + "type": "string" + }, + "expireTime": { + "description": "Optional. The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is `7 days - (age of oldest unacked message in the subscription)`. For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation.", + "type": "string", + "format": "google-datetime" + }, + "labels": { + "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ListSnapshotsResponse": { + "id": "ListSnapshotsResponse", + "description": "Response for the `ListSnapshots` method.", + "type": "object", + "properties": { + "snapshots": { + "description": "Optional. The resulting snapshots.", + "type": "array", + "items": { + "$ref": "Snapshot" + } + }, + "nextPageToken": { + "description": "Optional. If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new `ListSnapshotsRequest`.", + "type": "string" + } + } + }, + "CreateSnapshotRequest": { + "id": "CreateSnapshotRequest", + "description": "Request for the `CreateSnapshot` method.", + "type": "object", + "properties": { + "subscription": { + "description": "Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`.", + "type": "string" + }, + "labels": { + "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpdateSnapshotRequest": { + "id": "UpdateSnapshotRequest", + "description": "Request for the UpdateSnapshot method.", + "type": "object", + "properties": { + "snapshot": { + "description": "Required. The updated snapshot object.", + "$ref": "Snapshot" + }, + "updateMask": { + "description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.", + "type": "string", + "format": "google-fieldmask" + } + } + }, + "SeekRequest": { + "id": "SeekRequest", + "description": "Request for the `Seek` method.", + "type": "object", + "properties": { + "time": { + "description": "Optional. The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of `message_retention_duration` and `retain_acked_messages`). For example, if `time` corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.", + "type": "string", + "format": "google-datetime" + }, + "snapshot": { + "description": "Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is `projects/{project}/snapshots/{snap}`.", + "type": "string" + } + } + }, + "SeekResponse": { + "id": "SeekResponse", + "description": "Response for the `Seek` method (this response is empty).", + "type": "object", + "properties": {} + } + }, + "protocol": "rest", + "baseUrl": "https://pubsub.googleapis.com/", + "canonicalName": "Pubsub", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "rootUrl": "https://pubsub.googleapis.com/", + "batchPath": "batch", + "name": "pubsub", + "kind": "discovery#restDescription", + "servicePath": "" +} From f744f97937a0ccf103abe0df622f75a6f4138285 Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Wed, 19 Nov 2025 16:01:55 +0100 Subject: [PATCH 2/5] remove accidental commit --- pubsub_v1.json | 3151 ------------------------------------------------ 1 file changed, 3151 deletions(-) delete mode 100644 pubsub_v1.json diff --git a/pubsub_v1.json b/pubsub_v1.json deleted file mode 100644 index 9e8a688..0000000 --- a/pubsub_v1.json +++ /dev/null @@ -1,3151 +0,0 @@ -{ - "id": "pubsub:v1", - "revision": "20250916", - "documentationLink": "https://cloud.google.com/pubsub/docs", - "endpoints": [ - { - "endpointUrl": "https://pubsub.asia-south1.rep.googleapis.com/", - "location": "asia-south1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.asia-south2.rep.googleapis.com/", - "location": "asia-south2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.me-central2.rep.googleapis.com/", - "location": "me-central2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west3.rep.googleapis.com/", - "location": "europe-west3", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west8.rep.googleapis.com/", - "location": "europe-west8", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.europe-west9.rep.googleapis.com/", - "location": "europe-west9", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-central1.rep.googleapis.com/", - "location": "us-central1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-central2.rep.googleapis.com/", - "location": "us-central2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east1.rep.googleapis.com/", - "location": "us-east1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east4.rep.googleapis.com/", - "location": "us-east4", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-east5.rep.googleapis.com/", - "location": "us-east5", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-south1.rep.googleapis.com/", - "location": "us-south1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west1.rep.googleapis.com/", - "location": "us-west1", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west2.rep.googleapis.com/", - "location": "us-west2", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west3.rep.googleapis.com/", - "location": "us-west3", - "description": "Regional Endpoint" - }, - { - "endpointUrl": "https://pubsub.us-west4.rep.googleapis.com/", - "location": "us-west4", - "description": "Regional Endpoint" - } - ], - "resources": { - "projects": { - "resources": { - "topics": { - "methods": { - "setIamPolicy": { - "id": "pubsub.projects.topics.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.topics.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.topics.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "create": { - "id": "pubsub.projects.topics.create", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "PUT", - "parameters": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "Topic" - }, - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names)." - }, - "patch": { - "id": "pubsub.projects.topics.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "UpdateTopicRequest" - }, - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable." - }, - "publish": { - "id": "pubsub.projects.topics.publish", - "path": "v1/{+topic}:publish", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", - "httpMethod": "POST", - "parameters": { - "topic": { - "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "request": { - "$ref": "PublishRequest" - }, - "response": { - "$ref": "PublishResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist." - }, - "get": { - "id": "pubsub.projects.topics.get", - "path": "v1/{+topic}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "Topic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the configuration of a topic." - }, - "list": { - "id": "pubsub.projects.topics.list", - "path": "v1/{+project}/topics", - "flatPath": "v1/projects/{projectsId}/topics", - "httpMethod": "GET", - "parameters": { - "project": { - "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of topics to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "project" - ], - "response": { - "$ref": "ListTopicsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists matching topics." - }, - "delete": { - "id": "pubsub.projects.topics.delete", - "path": "v1/{+topic}", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "httpMethod": "DELETE", - "parameters": { - "topic": { - "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`." - } - }, - "resources": { - "subscriptions": { - "methods": { - "list": { - "id": "pubsub.projects.topics.subscriptions.list", - "path": "v1/{+topic}/subscriptions", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of subscription names to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "ListTopicSubscriptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the names of the attached subscriptions on this topic." - } - } - }, - "snapshots": { - "methods": { - "list": { - "id": "pubsub.projects.topics.snapshots.list", - "path": "v1/{+topic}/snapshots", - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots", - "httpMethod": "GET", - "parameters": { - "topic": { - "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.", - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of snapshot names to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "ListTopicSnapshotsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - } - } - } - } - }, - "subscriptions": { - "methods": { - "setIamPolicy": { - "id": "pubsub.projects.subscriptions.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.subscriptions.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.subscriptions.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "detach": { - "id": "pubsub.projects.subscriptions.detach", - "path": "v1/{+subscription}:detach", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "DetachSubscriptionResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop." - }, - "create": { - "id": "pubsub.projects.subscriptions.create", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "PUT", - "parameters": { - "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "Subscription" - }, - "response": { - "$ref": "Subscription" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request." - }, - "get": { - "id": "pubsub.projects.subscriptions.get", - "path": "v1/{+subscription}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "GET", - "parameters": { - "subscription": { - "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Subscription" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the configuration details of a subscription." - }, - "patch": { - "id": "pubsub.projects.subscriptions.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "UpdateSubscriptionRequest" - }, - "response": { - "$ref": "Subscription" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable." - }, - "list": { - "id": "pubsub.projects.subscriptions.list", - "path": "v1/{+project}/subscriptions", - "flatPath": "v1/projects/{projectsId}/subscriptions", - "httpMethod": "GET", - "parameters": { - "project": { - "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of subscriptions to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "project" - ], - "response": { - "$ref": "ListSubscriptionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists matching subscriptions." - }, - "delete": { - "id": "pubsub.projects.subscriptions.delete", - "path": "v1/{+subscription}", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "httpMethod": "DELETE", - "parameters": { - "subscription": { - "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified." - }, - "modifyAckDeadline": { - "id": "pubsub.projects.subscriptions.modifyAckDeadline", - "path": "v1/{+subscription}:modifyAckDeadline", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "request": { - "$ref": "ModifyAckDeadlineRequest" - }, - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages." - }, - "acknowledge": { - "id": "pubsub.projects.subscriptions.acknowledge", - "path": "v1/{+subscription}:acknowledge", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "request": { - "$ref": "AcknowledgeRequest" - }, - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error." - }, - "pull": { - "id": "pubsub.projects.subscriptions.pull", - "path": "v1/{+subscription}:pull", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "request": { - "$ref": "PullRequest" - }, - "response": { - "$ref": "PullResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Pulls messages from the server." - }, - "modifyPushConfig": { - "id": "pubsub.projects.subscriptions.modifyPushConfig", - "path": "v1/{+subscription}:modifyPushConfig", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "request": { - "$ref": "ModifyPushConfigRequest" - }, - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`." - }, - "seek": { - "id": "pubsub.projects.subscriptions.seek", - "path": "v1/{+subscription}:seek", - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", - "httpMethod": "POST", - "parameters": { - "subscription": { - "description": "Required. The subscription to affect.", - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "subscription" - ], - "request": { - "$ref": "SeekRequest" - }, - "response": { - "$ref": "SeekResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic." - } - } - }, - "snapshots": { - "methods": { - "setIamPolicy": { - "id": "pubsub.projects.snapshots.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.snapshots.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.snapshots.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "get": { - "id": "pubsub.projects.snapshots.get", - "path": "v1/{+snapshot}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "GET", - "parameters": { - "snapshot": { - "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "snapshot" - ], - "response": { - "$ref": "Snapshot" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "list": { - "id": "pubsub.projects.snapshots.list", - "path": "v1/{+project}/snapshots", - "flatPath": "v1/projects/{projectsId}/snapshots", - "httpMethod": "GET", - "parameters": { - "project": { - "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Optional. Maximum number of snapshots to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "Optional. The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "project" - ], - "response": { - "$ref": "ListSnapshotsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "create": { - "id": "pubsub.projects.snapshots.create", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "PUT", - "parameters": { - "name": { - "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the [resource name rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). Format is `projects/{project}/snapshots/{snap}`.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "CreateSnapshotRequest" - }, - "response": { - "$ref": "Snapshot" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request." - }, - "patch": { - "id": "pubsub.projects.snapshots.patch", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "PATCH", - "parameters": { - "name": { - "description": "Optional. The name of the snapshot.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "UpdateSnapshotRequest" - }, - "response": { - "$ref": "Snapshot" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot." - }, - "delete": { - "id": "pubsub.projects.snapshots.delete", - "path": "v1/{+snapshot}", - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", - "httpMethod": "DELETE", - "parameters": { - "snapshot": { - "description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.", - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "snapshot" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified." - } - } - }, - "schemas": { - "methods": { - "setIamPolicy": { - "id": "pubsub.projects.schemas.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:setIamPolicy", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors." - }, - "getIamPolicy": { - "id": "pubsub.projects.schemas.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:getIamPolicy", - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "location": "query", - "type": "integer", - "format": "int32" - } - }, - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set." - }, - "testIamPermissions": { - "id": "pubsub.projects.schemas.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:testIamPermissions", - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "resource" - ], - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning." - }, - "create": { - "id": "pubsub.projects.schemas.create", - "path": "v1/{+parent}/schemas", - "flatPath": "v1/projects/{projectsId}/schemas", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the project in which to create the schema. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "schemaId": { - "description": "The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "Schema" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates a schema." - }, - "get": { - "id": "pubsub.projects.schemas.get", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the schema to get. Format is `projects/{project}/schemas/{schema}`.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to `BASIC` to omit the `definition`.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include the name and type of the schema, but not the definition.", - "Include all Schema object fields." - ], - "enum": [ - "SCHEMA_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ] - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Gets a schema." - }, - "list": { - "id": "pubsub.projects.schemas.list", - "path": "v1/{+parent}/schemas", - "flatPath": "v1/projects/{projectsId}/schemas", - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The name of the project in which to list schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include the name and type of the schema, but not the definition.", - "Include all Schema object fields." - ], - "enum": [ - "SCHEMA_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ] - }, - "pageSize": { - "description": "Maximum number of schemas to return.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The value returned by the last `ListSchemasResponse`; indicates that this is a continuation of a prior `ListSchemas` call, and that the system should return the next page of data.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListSchemasResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists schemas in a project." - }, - "listRevisions": { - "id": "pubsub.projects.schemas.listRevisions", - "path": "v1/{+name}:listRevisions", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:listRevisions", - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the schema to list revisions for.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "The set of Schema fields to return in the response. If not set, returns Schemas with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", - "location": "query", - "type": "string", - "enumDescriptions": [ - "The default / unset value. The API will default to the BASIC view.", - "Include the name and type of the schema, but not the definition.", - "Include all Schema object fields." - ], - "enum": [ - "SCHEMA_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ] - }, - "pageSize": { - "description": "The maximum number of revisions to return per page.", - "location": "query", - "type": "integer", - "format": "int32" - }, - "pageToken": { - "description": "The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page.", - "location": "query", - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ListSchemaRevisionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Lists all schema revisions for the named schema." - }, - "commit": { - "id": "pubsub.projects.schemas.commit", - "path": "v1/{+name}:commit", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:commit", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The name of the schema we are revising. Format is `projects/{project}/schemas/{schema}`.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "CommitSchemaRequest" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Commits a new schema revision to an existing schema." - }, - "rollback": { - "id": "pubsub.projects.schemas.rollback", - "path": "v1/{+name}:rollback", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:rollback", - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Required. The schema being rolled back with revision id.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "request": { - "$ref": "RollbackSchemaRequest" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Creates a new schema revision that is a copy of the provided revision_id." - }, - "deleteRevision": { - "id": "pubsub.projects.schemas.deleteRevision", - "path": "v1/{+name}:deleteRevision", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}:deleteRevision", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The name of the schema revision to be deleted, with a revision ID explicitly included. Example: `projects/123/schemas/my-schema@c7cfa2a8`", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - }, - "revisionId": { - "description": "Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the `name` parameter.", - "location": "query", - "deprecated": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Deletes a specific schema revision." - }, - "delete": { - "id": "pubsub.projects.schemas.delete", - "path": "v1/{+name}", - "flatPath": "v1/projects/{projectsId}/schemas/{schemasId}", - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. Name of the schema to delete. Format is `projects/{project}/schemas/{schema}`.", - "pattern": "^projects/[^/]+/schemas/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Deletes a schema." - }, - "validate": { - "id": "pubsub.projects.schemas.validate", - "path": "v1/{+parent}/schemas:validate", - "flatPath": "v1/projects/{projectsId}/schemas:validate", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "ValidateSchemaRequest" - }, - "response": { - "$ref": "ValidateSchemaResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Validates a schema." - }, - "validateMessage": { - "id": "pubsub.projects.schemas.validateMessage", - "path": "v1/{+parent}/schemas:validateMessage", - "flatPath": "v1/projects/{projectsId}/schemas:validateMessage", - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the project in which to validate schemas. Format is `projects/{project-id}`.", - "pattern": "^projects/[^/]+$", - "location": "path", - "required": true, - "type": "string" - } - }, - "parameterOrder": [ - "parent" - ], - "request": { - "$ref": "ValidateMessageRequest" - }, - "response": { - "$ref": "ValidateMessageResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "description": "Validates a message against a schema." - } - } - } - } - } - }, - "basePath": "", - "discoveryVersion": "v1", - "ownerDomain": "google.com", - "title": "Cloud Pub/Sub API", - "mtlsRootUrl": "https://pubsub.mtls.googleapis.com/", - "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ", - "parameters": { - "access_token": { - "type": "string", - "description": "OAuth access token.", - "location": "query" - }, - "alt": { - "type": "string", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "callback": { - "type": "string", - "description": "JSONP", - "location": "query" - }, - "fields": { - "type": "string", - "description": "Selector specifying which fields to include in a partial response.", - "location": "query" - }, - "key": { - "type": "string", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query" - }, - "oauth_token": { - "type": "string", - "description": "OAuth 2.0 token for the current user.", - "location": "query" - }, - "prettyPrint": { - "type": "boolean", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "location": "query" - }, - "quotaUser": { - "type": "string", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query" - }, - "uploadType": { - "type": "string", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - } - }, - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - }, - "https://www.googleapis.com/auth/pubsub": { - "description": "View and manage Pub/Sub topics and subscriptions" - } - } - } - }, - "ownerName": "Google", - "version": "v1", - "schemas": { - "SetIamPolicyRequest": { - "id": "SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.", - "$ref": "Policy" - } - } - }, - "Policy": { - "id": "Policy", - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "type": "object", - "properties": { - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "type": "integer", - "format": "int32" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "type": "array", - "items": { - "$ref": "Binding" - } - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "type": "string", - "format": "byte" - } - } - }, - "Binding": { - "id": "Binding", - "description": "Associates `members`, or principals, with a `role`.", - "type": "object", - "properties": { - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "type": "array", - "items": { - "type": "string" - } - }, - "condition": { - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "$ref": "Expr" - } - } - }, - "Expr": { - "id": "Expr", - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "type": "object", - "properties": { - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - }, - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - } - } - }, - "TestIamPermissionsRequest": { - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "TestIamPermissionsResponse": { - "id": "TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Schema": { - "id": "Schema", - "description": "A schema resource.", - "type": "object", - "properties": { - "name": { - "description": "Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`.", - "type": "string" - }, - "type": { - "description": "The type of the schema definition.", - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "A Protocol Buffer schema definition.", - "An Avro schema definition." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PROTOCOL_BUFFER", - "AVRO" - ] - }, - "definition": { - "description": "The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`.", - "type": "string" - }, - "revisionId": { - "description": "Output only. Immutable. The revision ID of the schema.", - "readOnly": true, - "type": "string" - }, - "revisionCreateTime": { - "description": "Output only. The timestamp that the revision was created.", - "readOnly": true, - "type": "string", - "format": "google-datetime" - } - } - }, - "ListSchemasResponse": { - "id": "ListSchemasResponse", - "description": "Response for the `ListSchemas` method.", - "type": "object", - "properties": { - "schemas": { - "description": "The resulting schemas.", - "type": "array", - "items": { - "$ref": "Schema" - } - }, - "nextPageToken": { - "description": "If not empty, indicates that there may be more schemas that match the request; this value should be passed in a new `ListSchemasRequest`.", - "type": "string" - } - } - }, - "ListSchemaRevisionsResponse": { - "id": "ListSchemaRevisionsResponse", - "description": "Response for the `ListSchemaRevisions` method.", - "type": "object", - "properties": { - "schemas": { - "description": "The revisions of the schema.", - "type": "array", - "items": { - "$ref": "Schema" - } - }, - "nextPageToken": { - "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", - "type": "string" - } - } - }, - "CommitSchemaRequest": { - "id": "CommitSchemaRequest", - "description": "Request for CommitSchema method.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The schema revision to commit.", - "$ref": "Schema" - } - } - }, - "RollbackSchemaRequest": { - "id": "RollbackSchemaRequest", - "description": "Request for the `RollbackSchema` method.", - "type": "object", - "properties": { - "revisionId": { - "description": "Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8", - "type": "string" - } - } - }, - "Empty": { - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "type": "object", - "properties": {} - }, - "ValidateSchemaRequest": { - "id": "ValidateSchemaRequest", - "description": "Request for the `ValidateSchema` method.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The schema object to validate.", - "$ref": "Schema" - } - } - }, - "ValidateSchemaResponse": { - "id": "ValidateSchemaResponse", - "description": "Response for the `ValidateSchema` method. Empty for now.", - "type": "object", - "properties": {} - }, - "ValidateMessageRequest": { - "id": "ValidateMessageRequest", - "description": "Request for the `ValidateMessage` method.", - "type": "object", - "properties": { - "name": { - "description": "Name of the schema against which to validate. Format is `projects/{project}/schemas/{schema}`.", - "type": "string" - }, - "schema": { - "description": "Ad-hoc schema against which to validate", - "$ref": "Schema" - }, - "message": { - "description": "Message to validate against the provided `schema_spec`.", - "type": "string", - "format": "byte" - }, - "encoding": { - "description": "The encoding expected for messages", - "type": "string", - "enumDescriptions": [ - "Unspecified", - "JSON encoding", - "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." - ], - "enum": [ - "ENCODING_UNSPECIFIED", - "JSON", - "BINARY" - ] - } - } - }, - "ValidateMessageResponse": { - "id": "ValidateMessageResponse", - "description": "Response for the `ValidateMessage` method. Empty for now.", - "type": "object", - "properties": {} - }, - "Topic": { - "id": "Topic", - "description": "A topic resource.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "labels": { - "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "messageStoragePolicy": { - "description": "Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.", - "$ref": "MessageStoragePolicy" - }, - "kmsKeyName": { - "description": "Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", - "type": "string" - }, - "schemaSettings": { - "description": "Optional. Settings for validating messages published against a schema.", - "$ref": "SchemaSettings" - }, - "satisfiesPzs": { - "description": "Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.", - "type": "boolean" - }, - "messageRetentionDuration": { - "description": "Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes.", - "type": "string", - "format": "google-duration" - }, - "state": { - "description": "Output only. An output-only field indicating the state of the topic.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The topic does not have any persistent errors.", - "Ingestion from the data source has encountered a permanent error. See the more detailed error state in the corresponding ingestion source configuration." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "INGESTION_RESOURCE_ERROR" - ] - }, - "ingestionDataSourceSettings": { - "description": "Optional. Settings for ingestion from a data source into this topic.", - "$ref": "IngestionDataSourceSettings" - }, - "messageTransforms": { - "description": "Optional. Transforms to be applied to messages published to the topic. Transforms are applied in the order specified.", - "type": "array", - "items": { - "$ref": "MessageTransform" - } - } - } - }, - "MessageStoragePolicy": { - "id": "MessageStoragePolicy", - "description": "A policy constraining the storage of messages published to the topic.", - "type": "object", - "properties": { - "allowedPersistenceRegions": { - "description": "Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.", - "type": "array", - "items": { - "type": "string" - } - }, - "enforceInTransit": { - "description": "Optional. If true, `allowed_persistence_regions` is also used to enforce in-transit guarantees for messages. That is, Pub/Sub will fail Publish operations on this topic and subscribe operations on any subscription attached to this topic in any region that is not in `allowed_persistence_regions`.", - "type": "boolean" - } - } - }, - "SchemaSettings": { - "id": "SchemaSettings", - "description": "Settings for validating messages published against a schema.", - "type": "object", - "properties": { - "schema": { - "description": "Required. The name of the schema that messages published should be validated against. Format is `projects/{project}/schemas/{schema}`. The value of this field will be `_deleted-schema_` if the schema has been deleted.", - "type": "string" - }, - "encoding": { - "description": "Optional. The encoding of messages validated against `schema`.", - "type": "string", - "enumDescriptions": [ - "Unspecified", - "JSON encoding", - "Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available." - ], - "enum": [ - "ENCODING_UNSPECIFIED", - "JSON", - "BINARY" - ] - }, - "firstRevisionId": { - "description": "Optional. The minimum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against last_revision or any revision created before.", - "type": "string" - }, - "lastRevisionId": { - "description": "Optional. The maximum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against first_revision or any revision created after.", - "type": "string" - } - } - }, - "IngestionDataSourceSettings": { - "id": "IngestionDataSourceSettings", - "description": "Settings for an ingestion data source on a topic.", - "type": "object", - "properties": { - "awsKinesis": { - "description": "Optional. Amazon Kinesis Data Streams.", - "$ref": "AwsKinesis" - }, - "cloudStorage": { - "description": "Optional. Cloud Storage.", - "$ref": "CloudStorage" - }, - "azureEventHubs": { - "description": "Optional. Azure Event Hubs.", - "$ref": "AzureEventHubs" - }, - "awsMsk": { - "description": "Optional. Amazon MSK.", - "$ref": "AwsMsk" - }, - "confluentCloud": { - "description": "Optional. Confluent Cloud.", - "$ref": "ConfluentCloud" - }, - "platformLogsSettings": { - "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated.", - "$ref": "PlatformLogsSettings" - } - } - }, - "AwsKinesis": { - "id": "AwsKinesis", - "description": "Ingestion settings for Amazon Kinesis Data Streams.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Kinesis ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while consuming data from Kinesis. This can happen if: - The provided `aws_role_arn` does not exist or does not have the appropriate permissions attached. - The provided `aws_role_arn` is not set up properly for Identity Federation using `gcp_service_account`. - The Pub/Sub SA is not granted the `iam.serviceAccounts.getOpenIdToken` permission on `gcp_service_account`.", - "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", - "The Kinesis stream does not exist.", - "The Kinesis consumer does not exist." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "KINESIS_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "STREAM_NOT_FOUND", - "CONSUMER_NOT_FOUND" - ] - }, - "streamArn": { - "description": "Required. The Kinesis stream ARN to ingest data from.", - "type": "string" - }, - "consumerArn": { - "description": "Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out mode. The consumer must be already created and ready to be used.", - "type": "string" - }, - "awsRoleArn": { - "description": "Required. AWS role ARN to be used for Federated Identity authentication with Kinesis. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", - "type": "string" - }, - "gcpServiceAccount": { - "description": "Required. The GCP service account to be used for Federated Identity authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", - "type": "string" - } - } - }, - "CloudStorage": { - "id": "CloudStorage", - "description": "Ingestion settings for Cloud Storage.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Cloud Storage ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while calling the Cloud Storage API. This can happen if the Pub/Sub SA has not been granted the [appropriate permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): - storage.objects.list: to list the objects in a bucket. - storage.objects.get: to read the objects in a bucket. - storage.buckets.get: to verify the bucket exists.", - "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", - "The provided Cloud Storage bucket doesn't exist.", - "The Cloud Storage bucket has too many objects, ingestion will be paused." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "CLOUD_STORAGE_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "BUCKET_NOT_FOUND", - "TOO_MANY_OBJECTS" - ] - }, - "bucket": { - "description": "Optional. Cloud Storage bucket. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", - "type": "string" - }, - "textFormat": { - "description": "Optional. Data from Cloud Storage will be interpreted as text.", - "$ref": "TextFormat" - }, - "avroFormat": { - "description": "Optional. Data from Cloud Storage will be interpreted in Avro format.", - "$ref": "AvroFormat" - }, - "pubsubAvroFormat": { - "description": "Optional. It will be assumed data from Cloud Storage was written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage).", - "$ref": "PubSubAvroFormat" - }, - "minimumObjectCreateTime": { - "description": "Optional. Only objects with a larger or equal creation timestamp will be ingested.", - "type": "string", - "format": "google-datetime" - }, - "matchGlob": { - "description": "Optional. Glob pattern used to match objects that will be ingested. If unset, all objects will be ingested. See the [supported patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob).", - "type": "string" - } - } - }, - "TextFormat": { - "id": "TextFormat", - "description": "Configuration for reading Cloud Storage data in text format. Each line of text as specified by the delimiter will be set to the `data` field of a Pub/Sub message.", - "type": "object", - "properties": { - "delimiter": { - "description": "Optional. When unset, '\\n' is used.", - "type": "string" - } - } - }, - "AvroFormat": { - "id": "AvroFormat", - "description": "Configuration for reading Cloud Storage data in Avro binary format. The bytes of each object will be set to the `data` field of a Pub/Sub message.", - "type": "object", - "properties": {} - }, - "PubSubAvroFormat": { - "id": "PubSubAvroFormat", - "description": "Configuration for reading Cloud Storage data written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The data and attributes fields of the originally exported Pub/Sub message will be restored when publishing.", - "type": "object", - "properties": {} - }, - "AzureEventHubs": { - "id": "AzureEventHubs", - "description": "Ingestion settings for Azure Event Hubs.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while consuming data from Event Hubs. This can happen when `client_id`, or `tenant_id` are invalid. Or the right permissions haven't been granted.", - "Permission denied encountered while publishing to the topic.", - "The provided Event Hubs namespace couldn't be found.", - "The provided Event Hub couldn't be found.", - "The provided Event Hubs subscription couldn't be found.", - "The provided Event Hubs resource group couldn't be found." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "EVENT_HUBS_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "NAMESPACE_NOT_FOUND", - "EVENT_HUB_NOT_FOUND", - "SUBSCRIPTION_NOT_FOUND", - "RESOURCE_GROUP_NOT_FOUND" - ] - }, - "resourceGroup": { - "description": "Optional. Name of the resource group within the azure subscription.", - "type": "string" - }, - "namespace": { - "description": "Optional. The name of the Event Hubs namespace.", - "type": "string" - }, - "eventHub": { - "description": "Optional. The name of the Event Hub.", - "type": "string" - }, - "clientId": { - "description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub.", - "type": "string" - }, - "tenantId": { - "description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub.", - "type": "string" - }, - "subscriptionId": { - "description": "Optional. The Azure subscription id.", - "type": "string" - }, - "gcpServiceAccount": { - "description": "Optional. The GCP service account to be used for Federated Identity authentication.", - "type": "string" - } - } - }, - "AwsMsk": { - "id": "AwsMsk", - "description": "Ingestion settings for Amazon MSK.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while consuming data from Amazon MSK.", - "Permission denied encountered while publishing to the topic.", - "The provided MSK cluster wasn't found.", - "The provided topic wasn't found." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "MSK_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "CLUSTER_NOT_FOUND", - "TOPIC_NOT_FOUND" - ] - }, - "clusterArn": { - "description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", - "type": "string" - }, - "topic": { - "description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", - "type": "string" - }, - "awsRoleArn": { - "description": "Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", - "type": "string" - }, - "gcpServiceAccount": { - "description": "Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", - "type": "string" - } - } - }, - "ConfluentCloud": { - "id": "ConfluentCloud", - "description": "Ingestion settings for Confluent Cloud.", - "type": "object", - "properties": { - "state": { - "description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "Ingestion is active.", - "Permission denied encountered while consuming data from Confluent Cloud.", - "Permission denied encountered while publishing to the topic.", - "The provided bootstrap server address is unreachable.", - "The provided cluster wasn't found.", - "The provided topic wasn't found." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "CONFLUENT_CLOUD_PERMISSION_DENIED", - "PUBLISH_PERMISSION_DENIED", - "UNREACHABLE_BOOTSTRAP_SERVER", - "CLUSTER_NOT_FOUND", - "TOPIC_NOT_FOUND" - ] - }, - "bootstrapServer": { - "description": "Required. The address of the bootstrap server. The format is url:port.", - "type": "string" - }, - "clusterId": { - "description": "Required. The id of the cluster.", - "type": "string" - }, - "topic": { - "description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from.", - "type": "string" - }, - "identityPoolId": { - "description": "Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools.", - "type": "string" - }, - "gcpServiceAccount": { - "description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", - "type": "string" - } - } - }, - "PlatformLogsSettings": { - "id": "PlatformLogsSettings", - "description": "Settings for Platform Logs produced by Pub/Sub.", - "type": "object", - "properties": { - "severity": { - "description": "Optional. The minimum severity level of Platform Logs that will be written.", - "type": "string", - "enumDescriptions": [ - "Default value. Logs level is unspecified. Logs will be disabled.", - "Logs will be disabled.", - "Debug logs and higher-severity logs will be written.", - "Info logs and higher-severity logs will be written.", - "Warning logs and higher-severity logs will be written.", - "Only error logs will be written." - ], - "enum": [ - "SEVERITY_UNSPECIFIED", - "DISABLED", - "DEBUG", - "INFO", - "WARNING", - "ERROR" - ] - } - } - }, - "MessageTransform": { - "id": "MessageTransform", - "description": "All supported message transforms types.", - "type": "object", - "properties": { - "javascriptUdf": { - "description": "Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique `function_name`.", - "$ref": "JavaScriptUDF" - }, - "enabled": { - "description": "Optional. This field is deprecated, use the `disabled` field to disable transforms.", - "deprecated": true, - "type": "boolean" - }, - "disabled": { - "description": "Optional. If true, the transform is disabled and will not be applied to messages. Defaults to `false`.", - "type": "boolean" - } - } - }, - "JavaScriptUDF": { - "id": "JavaScriptUDF", - "description": "User-defined JavaScript function that can transform or filter a Pub/Sub message.", - "type": "object", - "properties": { - "functionName": { - "description": "Required. Name of the JavasScript function that should applied to Pub/Sub messages.", - "type": "string" - }, - "code": { - "description": "Required. JavaScript code that contains a function `function_name` with the below signature: ``` /** * Transforms a Pub/Sub message. * @return {(Object)\u003e|null)} - To * filter a message, return `null`. To transform a message return a map * with the following keys: * - (required) 'data' : {string} * - (optional) 'attributes' : {Object} * Returning empty `attributes` will remove all attributes from the * message. * * @param {(Object)\u003e} Pub/Sub * message. Keys: * - (required) 'data' : {string} * - (required) 'attributes' : {Object} * * @param {Object} metadata - Pub/Sub message metadata. * Keys: * - (optional) 'message_id' : {string} * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format * - (optional) 'ordering_key': {string} */ function (message, metadata) { } ```", - "type": "string" - } - } - }, - "UpdateTopicRequest": { - "id": "UpdateTopicRequest", - "description": "Request for the UpdateTopic method.", - "type": "object", - "properties": { - "topic": { - "description": "Required. The updated topic object.", - "$ref": "Topic" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains \"message_storage_policy\" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "PublishRequest": { - "id": "PublishRequest", - "description": "Request for the Publish method.", - "type": "object", - "properties": { - "messages": { - "description": "Required. The messages to publish.", - "type": "array", - "items": { - "$ref": "PubsubMessage" - } - } - } - }, - "PubsubMessage": { - "id": "PubsubMessage", - "description": "A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.", - "type": "object", - "properties": { - "data": { - "description": "Optional. The message data field. If this field is empty, the message must contain at least one attribute.", - "type": "string", - "format": "byte" - }, - "attributes": { - "description": "Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "messageId": { - "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.", - "type": "string" - }, - "publishTime": { - "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.", - "type": "string", - "format": "google-datetime" - }, - "orderingKey": { - "description": "Optional. If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering).", - "type": "string" - } - } - }, - "PublishResponse": { - "id": "PublishResponse", - "description": "Response for the `Publish` method.", - "type": "object", - "properties": { - "messageIds": { - "description": "Optional. The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ListTopicsResponse": { - "id": "ListTopicsResponse", - "description": "Response for the `ListTopics` method.", - "type": "object", - "properties": { - "topics": { - "description": "Optional. The resulting topics.", - "type": "array", - "items": { - "$ref": "Topic" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.", - "type": "string" - } - } - }, - "ListTopicSubscriptionsResponse": { - "id": "ListTopicSubscriptionsResponse", - "description": "Response for the `ListTopicSubscriptions` method.", - "type": "object", - "properties": { - "subscriptions": { - "description": "Optional. The names of subscriptions attached to the topic specified in the request.", - "type": "array", - "items": { - "type": "string" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions.", - "type": "string" - } - } - }, - "ListTopicSnapshotsResponse": { - "id": "ListTopicSnapshotsResponse", - "description": "Response for the `ListTopicSnapshots` method.", - "type": "object", - "properties": { - "snapshots": { - "description": "Optional. The names of the snapshots that match the request.", - "type": "array", - "items": { - "type": "string" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new `ListTopicSnapshotsRequest` to get more snapshots.", - "type": "string" - } - } - }, - "DetachSubscriptionResponse": { - "id": "DetachSubscriptionResponse", - "description": "Response for the DetachSubscription method. Reserved for future use.", - "type": "object", - "properties": {} - }, - "Subscription": { - "id": "Subscription", - "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", - "type": "object", - "properties": { - "name": { - "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "topic": { - "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.", - "type": "string" - }, - "pushConfig": { - "description": "Optional. If push delivery is used with this subscription, this field is used to configure it.", - "$ref": "PushConfig" - }, - "bigqueryConfig": { - "description": "Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it.", - "$ref": "BigQueryConfig" - }, - "cloudStorageConfig": { - "description": "Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it.", - "$ref": "CloudStorageConfig" - }, - "ackDeadlineSeconds": { - "description": "Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be _outstanding_. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.", - "type": "integer", - "format": "int32" - }, - "retainAckedMessages": { - "description": "Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", - "type": "boolean" - }, - "messageRetentionDuration": { - "description": "Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 31 days or less than 10 minutes.", - "type": "string", - "format": "google-duration" - }, - "labels": { - "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "enableMessageOrdering": { - "description": "Optional. If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.", - "type": "boolean" - }, - "expirationPolicy": { - "description": "Optional. A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, but `expiration_policy.ttl` is not set, the subscription never expires.", - "$ref": "ExpirationPolicy" - }, - "filter": { - "description": "Optional. An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.", - "type": "string" - }, - "deadLetterPolicy": { - "description": "Optional. A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription.", - "$ref": "DeadLetterPolicy" - }, - "retryPolicy": { - "description": "Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message.", - "$ref": "RetryPolicy" - }, - "detached": { - "description": "Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.", - "type": "boolean" - }, - "enableExactlyOnceDelivery": { - "description": "Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", - "type": "boolean" - }, - "topicMessageRetentionDuration": { - "description": "Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.", - "readOnly": true, - "type": "string", - "format": "google-duration" - }, - "state": { - "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively receive messages", - "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "RESOURCE_ERROR" - ] - }, - "analyticsHubSubscriptionInfo": { - "description": "Output only. Information about the associated Analytics Hub subscription. Only set if the subscritpion is created by Analytics Hub.", - "readOnly": true, - "$ref": "AnalyticsHubSubscriptionInfo" - }, - "messageTransforms": { - "description": "Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified.", - "type": "array", - "items": { - "$ref": "MessageTransform" - } - } - } - }, - "PushConfig": { - "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object", - "properties": { - "pushEndpoint": { - "description": "Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `https://example.com/push`.", - "type": "string" - }, - "attributes": { - "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "oidcToken": { - "description": "Optional. If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message.", - "$ref": "OidcToken" - }, - "pubsubWrapper": { - "description": "Optional. When set, the payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", - "$ref": "PubsubWrapper" - }, - "noWrapper": { - "description": "Optional. When set, the payload to the push endpoint is not wrapped.", - "$ref": "NoWrapper" - } - } - }, - "OidcToken": { - "id": "OidcToken", - "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).", - "type": "object", - "properties": { - "serviceAccountEmail": { - "description": "Optional. [Service account email](https://cloud.google.com/iam/docs/service-accounts) used for generating the OIDC token. For more information on setting up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/docs/push).", - "type": "string" - }, - "audience": { - "description": "Optional. Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.", - "type": "string" - } - } - }, - "PubsubWrapper": { - "id": "PubsubWrapper", - "description": "The payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).", - "type": "object", - "properties": {} - }, - "NoWrapper": { - "id": "NoWrapper", - "description": "Sets the `data` field as the HTTP body for delivery.", - "type": "object", - "properties": { - "writeMetadata": { - "description": "Optional. When true, writes the Pub/Sub message metadata to `x-goog-pubsub-:` headers of the HTTP request. Writes the Pub/Sub message attributes to `:` headers of the HTTP request.", - "type": "boolean" - } - } - }, - "BigQueryConfig": { - "id": "BigQueryConfig", - "description": "Configuration for a BigQuery subscription.", - "type": "object", - "properties": { - "table": { - "description": "Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}", - "type": "string" - }, - "useTopicSchema": { - "description": "Optional. When true, use the topic's schema as the columns to write to in BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be enabled at the same time.", - "type": "boolean" - }, - "writeMetadata": { - "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.", - "type": "boolean" - }, - "dropUnknownFields": { - "description": "Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.", - "type": "boolean" - }, - "state": { - "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively send messages to BigQuery", - "Cannot write to the BigQuery table because of permission denied errors. This can happen if - Pub/Sub SA has not been granted the [appropriate BigQuery IAM permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account) - bigquery.googleapis.com API is not enabled for the project ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))", - "Cannot write to the BigQuery table because it does not exist.", - "Cannot write to the BigQuery table due to a schema mismatch.", - "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PERMISSION_DENIED", - "NOT_FOUND", - "SCHEMA_MISMATCH", - "IN_TRANSIT_LOCATION_RESTRICTION" - ] - }, - "useTableSchema": { - "description": "Optional. When true, use the BigQuery table's schema as the columns to write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at the same time.", - "type": "boolean" - }, - "serviceAccountEmail": { - "description": "Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", - "type": "string" - } - } - }, - "CloudStorageConfig": { - "id": "CloudStorageConfig", - "description": "Configuration for a Cloud Storage subscription.", - "type": "object", - "properties": { - "bucket": { - "description": "Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", - "type": "string" - }, - "filenamePrefix": { - "description": "Optional. User-provided prefix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming).", - "type": "string" - }, - "filenameSuffix": { - "description": "Optional. User-provided suffix for Cloud Storage filename. See the [object naming requirements](https://cloud.google.com/storage/docs/objects#naming). Must not end in \"/\".", - "type": "string" - }, - "filenameDatetimeFormat": { - "description": "Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the [datetime format guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).", - "type": "string" - }, - "textConfig": { - "description": "Optional. If set, message data will be written to Cloud Storage in text format.", - "$ref": "TextConfig" - }, - "avroConfig": { - "description": "Optional. If set, message data will be written to Cloud Storage in Avro format.", - "$ref": "AvroConfig" - }, - "maxDuration": { - "description": "Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline.", - "type": "string", - "format": "google-duration" - }, - "maxBytes": { - "description": "Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit.", - "type": "string", - "format": "int64" - }, - "maxMessages": { - "description": "Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages.", - "type": "string", - "format": "int64" - }, - "state": { - "description": "Output only. An output-only field that indicates whether or not the subscription can receive messages.", - "readOnly": true, - "type": "string", - "enumDescriptions": [ - "Default value. This value is unused.", - "The subscription can actively send messages to Cloud Storage.", - "Cannot write to the Cloud Storage bucket because of permission denied errors.", - "Cannot write to the Cloud Storage bucket because it does not exist.", - "Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions.", - "Cannot write to the Cloud Storage bucket due to an incompatibility between the topic schema and subscription settings." - ], - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PERMISSION_DENIED", - "NOT_FOUND", - "IN_TRANSIT_LOCATION_RESTRICTION", - "SCHEMA_MISMATCH" - ] - }, - "serviceAccountEmail": { - "description": "Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents), service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.", - "type": "string" - } - } - }, - "TextConfig": { - "id": "TextConfig", - "description": "Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.", - "type": "object", - "properties": {} - }, - "AvroConfig": { - "id": "AvroConfig", - "description": "Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary.", - "type": "object", - "properties": { - "writeMetadata": { - "description": "Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key as additional fields in the output. The subscription name, message_id, and publish_time fields are put in their own fields while all other message properties other than data (for example, an ordering_key, if present) are added as entries in the attributes map.", - "type": "boolean" - }, - "useTopicSchema": { - "description": "Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists.", - "type": "boolean" - } - } - }, - "ExpirationPolicy": { - "id": "ExpirationPolicy", - "description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).", - "type": "object", - "properties": { - "ttl": { - "description": "Optional. Specifies the \"time-to-live\" duration for an associated resource. The resource expires if it is not active for a period of `ttl`. The definition of \"activity\" depends on the type of the associated resource. The minimum and maximum allowed values for `ttl` depend on the type of the associated resource, as well. If `ttl` is not set, the associated resource never expires.", - "type": "string", - "format": "google-duration" - } - } - }, - "DeadLetterPolicy": { - "id": "DeadLetterPolicy", - "description": "Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.", - "type": "object", - "properties": { - "deadLetterTopic": { - "description": "Optional. The name of the topic to which dead letter messages should be published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.", - "type": "string" - }, - "maxDeliveryAttempts": { - "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.", - "type": "integer", - "format": "int32" - } - } - }, - "RetryPolicy": { - "id": "RetryPolicy", - "description": "A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.", - "type": "object", - "properties": { - "minimumBackoff": { - "description": "Optional. The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.", - "type": "string", - "format": "google-duration" - }, - "maximumBackoff": { - "description": "Optional. The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.", - "type": "string", - "format": "google-duration" - } - } - }, - "AnalyticsHubSubscriptionInfo": { - "id": "AnalyticsHubSubscriptionInfo", - "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", - "type": "object", - "properties": { - "listing": { - "description": "Optional. The name of the associated Analytics Hub listing resource. Pattern: \"projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}\"", - "type": "string" - }, - "subscription": { - "description": "Optional. The name of the associated Analytics Hub subscription resource. Pattern: \"projects/{project}/locations/{location}/subscriptions/{subscription}\"", - "type": "string" - } - } - }, - "UpdateSubscriptionRequest": { - "id": "UpdateSubscriptionRequest", - "description": "Request for the UpdateSubscription method.", - "type": "object", - "properties": { - "subscription": { - "description": "Required. The updated subscription object.", - "$ref": "Subscription" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "ListSubscriptionsResponse": { - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method.", - "type": "object", - "properties": { - "subscriptions": { - "description": "Optional. The subscriptions that match the request.", - "type": "array", - "items": { - "$ref": "Subscription" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions.", - "type": "string" - } - } - }, - "ModifyAckDeadlineRequest": { - "id": "ModifyAckDeadlineRequest", - "description": "Request for the ModifyAckDeadline method.", - "type": "object", - "properties": { - "ackIds": { - "description": "Required. List of acknowledgment IDs.", - "type": "array", - "items": { - "type": "string" - } - }, - "ackDeadlineSeconds": { - "description": "Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify in a single request is 600 seconds (10 minutes).", - "type": "integer", - "format": "int32" - } - } - }, - "AcknowledgeRequest": { - "id": "AcknowledgeRequest", - "description": "Request for the Acknowledge method.", - "type": "object", - "properties": { - "ackIds": { - "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PullRequest": { - "id": "PullRequest", - "description": "Request for the `Pull` method.", - "type": "object", - "properties": { - "returnImmediately": { - "description": "Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the `Pull` response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field.", - "deprecated": true, - "type": "boolean" - }, - "maxMessages": { - "description": "Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.", - "type": "integer", - "format": "int32" - } - } - }, - "PullResponse": { - "id": "PullResponse", - "description": "Response for the `Pull` method.", - "type": "object", - "properties": { - "receivedMessages": { - "description": "Optional. Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog, or if no messages could be returned before the request timeout. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", - "type": "array", - "items": { - "$ref": "ReceivedMessage" - } - } - } - }, - "ReceivedMessage": { - "id": "ReceivedMessage", - "description": "A message and its corresponding acknowledgment ID.", - "type": "object", - "properties": { - "ackId": { - "description": "Optional. This ID can be used to acknowledge the received message.", - "type": "string" - }, - "message": { - "description": "Optional. The message.", - "$ref": "PubsubMessage" - }, - "deliveryAttempt": { - "description": "Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, `delivery_attempt` will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0.", - "type": "integer", - "format": "int32" - } - } - }, - "ModifyPushConfigRequest": { - "id": "ModifyPushConfigRequest", - "description": "Request for the ModifyPushConfig method.", - "type": "object", - "properties": { - "pushConfig": { - "description": "Required. The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` or `StreamingPull` is not called.", - "$ref": "PushConfig" - } - } - }, - "Snapshot": { - "id": "Snapshot", - "description": "A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", - "type": "object", - "properties": { - "name": { - "description": "Optional. The name of the snapshot.", - "type": "string" - }, - "topic": { - "description": "Optional. The name of the topic from which this snapshot is retaining messages.", - "type": "string" - }, - "expireTime": { - "description": "Optional. The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is `7 days - (age of oldest unacked message in the subscription)`. For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation.", - "type": "string", - "format": "google-datetime" - }, - "labels": { - "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "ListSnapshotsResponse": { - "id": "ListSnapshotsResponse", - "description": "Response for the `ListSnapshots` method.", - "type": "object", - "properties": { - "snapshots": { - "description": "Optional. The resulting snapshots.", - "type": "array", - "items": { - "$ref": "Snapshot" - } - }, - "nextPageToken": { - "description": "Optional. If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new `ListSnapshotsRequest`.", - "type": "string" - } - } - }, - "CreateSnapshotRequest": { - "id": "CreateSnapshotRequest", - "description": "Request for the `CreateSnapshot` method.", - "type": "object", - "properties": { - "subscription": { - "description": "Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`.", - "type": "string" - }, - "labels": { - "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels).", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "UpdateSnapshotRequest": { - "id": "UpdateSnapshotRequest", - "description": "Request for the UpdateSnapshot method.", - "type": "object", - "properties": { - "snapshot": { - "description": "Required. The updated snapshot object.", - "$ref": "Snapshot" - }, - "updateMask": { - "description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.", - "type": "string", - "format": "google-fieldmask" - } - } - }, - "SeekRequest": { - "id": "SeekRequest", - "description": "Request for the `Seek` method.", - "type": "object", - "properties": { - "time": { - "description": "Optional. The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of `message_retention_duration` and `retain_acked_messages`). For example, if `time` corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.", - "type": "string", - "format": "google-datetime" - }, - "snapshot": { - "description": "Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is `projects/{project}/snapshots/{snap}`.", - "type": "string" - } - } - }, - "SeekResponse": { - "id": "SeekResponse", - "description": "Response for the `Seek` method (this response is empty).", - "type": "object", - "properties": {} - } - }, - "protocol": "rest", - "baseUrl": "https://pubsub.googleapis.com/", - "canonicalName": "Pubsub", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "rootUrl": "https://pubsub.googleapis.com/", - "batchPath": "batch", - "name": "pubsub", - "kind": "discovery#restDescription", - "servicePath": "" -} From 1a2cfa298f6ab8f506c5e33274ebd59c7e50d931 Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Wed, 19 Nov 2025 16:04:47 +0100 Subject: [PATCH 3/5] update sbt scalafmt --- modules/cli/src/main/scala/cli.scala | 6 +++--- project/plugins.sbt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/cli/src/main/scala/cli.scala b/modules/cli/src/main/scala/cli.scala index dad629c..13b2615 100644 --- a/modules/cli/src/main/scala/cli.scala +++ b/modules/cli/src/main/scala/cli.scala @@ -77,9 +77,9 @@ private def argsToTask(args: Seq[String]): Either[String, Task] = jsonCodec = jsonCodec, preprocess = s => { incResources.partitionMap(s => if s.startsWith("!") then Left(s.stripPrefix("!")) else Right(s)) match - case (Nil, Nil) => s - case (excl, Nil) => s.copy(resources = s.resources.view.filterKeys(!_.hasMatch(excl)).toMap) - case (Nil, incl) => s.copy(resources = s.resources.view.filterKeys(_.hasMatch(incl)).toMap) + case (Nil, Nil) => s + case (excl, Nil) => s.copy(resources = s.resources.view.filterKeys(!_.hasMatch(excl)).toMap) + case (Nil, incl) => s.copy(resources = s.resources.view.filterKeys(_.hasMatch(incl)).toMap) case (excl, incl) => s.copy(resources = s.resources.view.filterKeys(k => !k.hasMatch(excl) && k.hasMatch(incl)).toMap) }, diff --git a/project/plugins.sbt b/project/plugins.sbt index b0dc3e5..42d75da 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,9 +1,9 @@ addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.9") -addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.6") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") addSbtPlugin("com.github.sbt" % "sbt-dynver" % "5.1.1") -addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1") \ No newline at end of file +addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1") From 9d46b409cd77f253aca665842ae23c04c2c83368 Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Wed, 19 Nov 2025 16:11:10 +0100 Subject: [PATCH 4/5] add note --- build.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sbt b/build.sbt index a856c01..a5b5478 100644 --- a/build.sbt +++ b/build.sbt @@ -46,6 +46,7 @@ val zioVersion = "2.1.22" val zioJsonVersion = "0.7.45" +// NOTE: update from 2.38.3 to 2.38.4 causes compilation error with some recursive types on codec derivation val jsoniterVersion = "2.38.2" val munitVersion = "1.2.1" From 72e25a3d64af9972cc825b17bd072cba3cc8ce2f Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Wed, 19 Nov 2025 16:26:46 +0100 Subject: [PATCH 5/5] update test --- .../PubsubJsoniterCodecSpec.scala | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/test-pubsub-v1-sttp4-jsoniter-ziochunk/src/test/scala/sttp4_jsoniter_ziochunk/PubsubJsoniterCodecSpec.scala b/modules/test-pubsub-v1-sttp4-jsoniter-ziochunk/src/test/scala/sttp4_jsoniter_ziochunk/PubsubJsoniterCodecSpec.scala index bfad13e..385075d 100644 --- a/modules/test-pubsub-v1-sttp4-jsoniter-ziochunk/src/test/scala/sttp4_jsoniter_ziochunk/PubsubJsoniterCodecSpec.scala +++ b/modules/test-pubsub-v1-sttp4-jsoniter-ziochunk/src/test/scala/sttp4_jsoniter_ziochunk/PubsubJsoniterCodecSpec.scala @@ -1,22 +1,29 @@ package gcp.pubsub.v1.sttp4_jsoniter_ziochunk import gcp.pubsub.v1.sttp4_jsoniter_ziochunk.schemas.* +import com.github.plokhotnyuk.jsoniter_scala.core.readFromString class PubsubJsoniterCodecSpec extends munit.FunSuite { - test("PublishMessage") { + test("PublishMessage with ordering key") { val pMsg = PubsubMessage(data = Some("data"), attributes = Some(Map("key" -> "value")), orderingKey = Some("key")) - val expected = """{"data":"data","attributes":{"key":"value"},"orderingKey":"key"}""" + val expected = """{"attributes":{"key":"value"},"orderingKey":"key","data":"data"}""" val encoded = pMsg.toJsonString assert(encoded == expected) + + val decoded = readFromString[PubsubMessage](expected) + assert(pMsg == decoded) } test("PublishMessage no ordering key") { val pMsg = PubsubMessage(data = Some("data"), attributes = Some(Map("key" -> "value"))) - val expected = """{"data":"data","attributes":{"key":"value"}}""" + val expected = """{"attributes":{"key":"value"},"data":"data"}""" val encoded = pMsg.toJsonString assert(encoded == expected) + + val decoded = readFromString[PubsubMessage](expected) + assert(pMsg == decoded) } test("PublishMessage no ordering key, no attributes") { @@ -25,5 +32,8 @@ class PubsubJsoniterCodecSpec extends munit.FunSuite { val encoded = pMsg.toJsonString assert(encoded == expected) + + val decoded = readFromString[PubsubMessage](expected) + assert(pMsg == decoded) } }